问题标签 [djcelery]

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 投票
0 回答
60 浏览

django - 芹菜调度程序不允许任务运行

这是我的 settings.py 的摘录

任务运行时send_mail,其他任务无法运行(被忽略,从 celeryd 日志中可以看出未交付)

但是如果我在这 30 秒的时间间隔内执行另一个任务,那么它实际上会运行。

send_mail任务

send_mail是来自mailer包的命令。

Celeryd 执行如下

0 投票
1 回答
668 浏览

python - 在 django-celery 中使用 on_success 和 on_failure 方法

我正在使用 djcelery。我创建了一项任务。

我在 view.py 中称它为

现在我如何检测任务是完成还是失败。我想对成功和失败执行某些操作。

0 投票
0 回答
1095 浏览

python - celery 并行处理长时间运行的任务

我有很长时间在我的实时服务器中运行任务。任务涉及从 facebook 获取数据并使用 reportlab PDF 包生成 PDF。

对于这些,我有 3 个并发级别为 5 的工作人员,因此我可以并行执行 30 个 PDF 任务。

但是当同时运行 10 个任务时,长时间运行的任务会打破其他任务的任务硬时间限制(12 小时)。

但在我的服务器中,单个 PDF 任务最多需要 3 小时或在最坏的情况下需要 4 小时。但是当我以并发级别 5 运行所有工作人员时,一些任务正在成功,一些任务的时间限制超过(12 小时)。但我的目标是需要在 4 或 5 小时内完成所有这 10 项任务。

有没有最好的方法来处理长时间运行的任务?

我也在使用 django - celery 包。
我的芹菜 Conf:

运行工人: python manage.py celeryd_multi restart n1 n2 n3 -l info -f celery.log -c 10 --purge -Q:n1,n2,n3 backend

0 投票
1 回答
759 浏览

django - 如何使用 celerycam 运行 djcelery 的守护进程

我正在使用 django celery,我有一个与主管合作的 celery 守护程序,但我在 django 管理员中遇到问题我看不到任务的状态,我只能在 django 管理员中看到我的任务状态,当我输入控制台 python manage.py celerycam 时,我如何运行 celerycam 的守护进程。

0 投票
2 回答
3820 浏览

python - python celery - 如何在运行时将 CELERYBEAT_SCHEDULE 任务添加到工作人员?

我创建了一个具有单个 celerybeat 调度任务的 celery worker,该任务以 5 秒的时间间隔运行。如何在不停止的情况下向 celery worker 动态添加另一个节拍任务?

例子

通过上述配置,我可以成功运行节拍模式的 celery worker。

现在我需要动态添加以下节拍时间表:

谢谢

0 投票
1 回答
917 浏览

python - 更改 CELERYBEAT_SCHEDULER

我有两个使用相同数据库的 django 应用程序。既使用芹菜,又拥有自己的CELERYBEAT_SCHEDULE。有没有办法区分哪些任务应该在适当的 celery worker 中运行?现在两个应用程序的任务都安排在同一个工作人员中。其原因是 (?) CELERYBEAT_SCHEDULERto 'djcelery.schedulers.DatabaseScheduler'。我找不到任何不使用数据库的方法/调度程序。作为经纪人,我正在使用 redis(每个应用程序的本地/不同),因此来自 CELERYBEAT_SCHEDULE 之外的任务可以正常工作。

0 投票
1 回答
2303 浏览

mysql - Celery Django 计时器错误:OperationalError(2006, 'MySQL server has gone away')

我正在使用 Django 和 celery 来运行一些任务。我有 6 个并发 1 的工人,不同的任务被发送给不同的工人。其中一个女巫在计时器中引发错误:OperationalError(2006, 'MySQL server has gone away')。系统正常运行,直到发生某些事情并且工作人员停止运行任务,直到手动重新启动。

追溯:

0 投票
3 回答
6414 浏览

python - Celery - “WorkerLostError: Worker 过早退出:信号 11 (SIGSEGV)”

我正在本地开发一个 Django 应用程序,该应用程序需要将 CSV 文件作为输入并对该文件进行一些分析。我在本地运行 Celery、RabbitMQ 和 Web 服务器。当我导入文件时,我在 Celery 服务器上看到以下错误:

我不确定如何进一步解决此问题;如果有帮助,我已经从 program_manager/tasks.py 复制了相关代码:

0 投票
0 回答
38 浏览

celery - Djcelery 已过时,但如何允许用户在没有它的情况下添加周期性任务?

Djcelery 现在被视为已过时,但仅使用 plane celery 和 django 我看不到允许应用程序管理员用户安排定期任务的方法。我可以使用 CELERYBEAT_SCHEDULE 将一个硬编码到 django 设置文件中,但就是这样吗?

看来我必须使用数据库后端,然后制作我自己的 PeriodicTask 模型,基本上重复 djcelery 已经做了什么?

0 投票
1 回答
159 浏览

python - 如何使用 djcelery 正确测试预定测试

我有一个使用 djcelery 的定期任务。此任务正在调查数据库,如有必要,它会进行相同的更改。如您所知,“python manage.py test”创建了一个测试数据库,那么我如何在这个测试数据库中运行这个周期性任务呢?

我尝试先运行:python manage.py test

然后当我尝试运行以下

python manage.py celery worker -l info &

python manage.py celery beat -l info &

测试终止