问题标签 [python-huey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

python - 失败时重试 Huey 任务

嗨,我们在 django 项目上使用 Python Huey https://pypi.org/project/huey/1.1.0/来运行我们的后台任务,我们将它用作某些函数的装饰器@task()。更准确地说,我们通过以下方式导入库:

因此,在我们的函数上,由这个任务执行,在某些情况下我们有数据库连接。如果由于某种原因此任务失败,例如,今天我们遇到了与数据库的连接正在关闭的数据库问题(这是一个我们必须弄清楚为什么这些连接正在关闭的问题)。正如您可能想象的那样,由于数据库连接,任务没有完成它的工作。

我的问题是:有什么方法可以配置这个 Huey 任务来重试执行。比方说,重试 5 次,每次重试间隔 2 秒?

0 投票
0 回答
70 浏览

python - 使用 FileHuey,Huey Consumer 无法在 Windows 中取消队列请求

我正在使用FileHueyWindows 中的 Huey 变体。我们正在使用Flask. 虽然 Enqueue 工作正常。消费者无法消费并执行任务。它失败并出现错误:

我正在创建这样的 FileHuey 实例

有什么我想念的吗?

0 投票
0 回答
92 浏览

python - 在 Huey 任务中运行 Scrapy 蜘蛛(django 项目)

我想在 Django 中创建周期性任务来运行 Scrapy 进程,但是日志中的任务似乎没有结束,我相信我需要将爬虫信号与 Huey 任务连接起来,我对此感到迷茫,知道吗?

  • 色调==2.3.2
  • django==3.2.3
0 投票
1 回答
222 浏览

django - 休伊如何调用任务?

我这里有这段代码

但我找不到 Huey 在哪里调用该函数。我用过 Huey 的唯一其他地方是,settings.py但我仍然只包括

谁能告诉我任务是如何执行的?我想知道这一点,因为我想将参数传递给every_five_mins(),例如,every_five_mins(argument1=argument1)但我不能在不知道函数在哪里调用的情况下这样做(否则 argument1 会引发未定义的错误)。

提前致谢。

0 投票
0 回答
18 浏览

python - 防止 Django 删除 PostgreSQL 中以前的条目

我有以下 Django 代码正在 PostgreSQL 和 Huey(一个自动调度程序)上运行。问题是,每当运行周期性任务时,Django 都会删除表中的先前行,而不是添加到现有行中。

预定代码:

基本上,上面的代码每分钟都会运行一次。这是我开始使用的数据库 (PSQL) 数据:

之后,我运行 Huey,它scheduled()每分钟执行一次。这是两分钟后我得到的结果(换句话说,两次迭代):

注意:大多数数据只是碰巧相同,自动执行生成的数据之间的时间戳总是不同的。

我想要 150 行而不是 50 行,因为我希望数据累积而不是替换以前的数据。谁能告诉我我哪里错了?

如果有人需要额外的日志输出,请在下面发表评论。

编辑模型

提前致谢。

0 投票
1 回答
386 浏览

python - AttributeError:“int”对象没有属性“timetuple”

快速说明:这个错误可能与这个线程有一些联系,但是用例和 python 版本(另一个仍然是 v2)是不同的。其他类似的线程并不专门针对 python datetime

我有以下代码:

楷模:

我得到以下输出:

最让我困惑的是,第一次包含如何timestamp不会出现错误,但执行过程可能不是从上到下。

无论哪种方式,我相信我已经timestamp适当地初始化了变量。有人可以帮忙吗?请注意,我不能timestamp在任何一个函数之外定义,因为我需要使用定期调用的函数不断更新时间戳。

编辑我在其他地方看到这个错误发生是因为datetime在代码的其他地方使用了命名空间,但在我的问题中情况并非如此。

提前致谢。

0 投票
1 回答
121 浏览

python - Python Huey 抛出 huey.exceptions.HueyException: xxxxxx not found in TaskRegistry

我正在尝试将 Huey 与 Django 集成,我几乎完成了 app 的初始设置以及redis的所有内容。现在,当我运行实际的.py文件时,我得到一个异常huey.exceptions.HueyException: xxxxxxx not found in TaskRegistry。我已按照此处提到的所有步骤进行操作,但到目前为止仍然没有运气。有人可以帮忙看看我缺少什么或有什么问题吗。提前致谢。

以下是我的代码和应用程​​序设置:

schedule_task.py

任务计划代码

设置.py

在此处输入图像描述

我用来运行 schedule_task.py 的命令

Redis 在我的本地运行 在此处输入图像描述

python manage.py run_huey 命令运行消费者 在此处输入图像描述

0 投票
1 回答
191 浏览

python - Huey db_task 被消费者成功注册但没有接收/执行任何任务

我有一个 Django 项目,将huey 作为任务队列。在我的开发环境中(见下文),一切都按预期工作:

  1. [保存] Django 模型实例保存
  2. [触发] huey 任务触发
  3. [execute] huey 任务通过运行 consumer ( run_huey)来执行

但是我无法在我的生产环境中得到第三点 [执行]。我能发现的唯一区别是,消费者run_huey是由一个 systemd 服务单元启动的,而网络服务器是一个 Apache2(见下文)。DEBUG = True如果我在我的生产环境中设置也没关系。

消费者确实正确识别了db_taskschedule_virusscan”,但没有接收/接收由我的模型保存方法触发的任何任务(此处schedule_virusscan(self.id):)

immediate=False用于我的 Huey 实例,因为我run_huey什至在我的开发环境中运行。

我得到这种行为huey.FileHueyhuey.SqliteHuey

问题

我的消费者(仅在生产中)没有执行甚至接收任何任务,我错过了什么?

设置

网络服务器

  • Debian Buster 上的 apache (2.4) 和 mod_wsgi (4.6.5)
  • run_huey并且 WSGIDaemonProcess 确实以相同(专用,非 root)用户身份运行

Django 项目

0 投票
0 回答
100 浏览

windows - Windows 生产中的 FastAPI 和 Dramatiq

我正在尝试将 FastApi(uvicorn 或 hypercorn)与 Redis 和 Dramatiq 一起部署为 Windows 服务器生产中的后台任务工作者。

  1. Windows 中的 Dramatiq 制作有多好。
  2. Huey 和 Dramatiq 是最好的,最适合在 Windows 中制作。
  3. uvicorn 或 hypercorn,这是在 Windows 中运行 FastApi 最适合和稳定的生产服务器。请说明几个原因。
  4. 是否有任何可用于生产的仪表板或 UI 来监控 Dramatiq 生产。