问题标签 [django-celery]
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.
django - 了解基本 celery 消息队列的工作原理
我已经实现了一个使用 celery 进行消息队列的小测试,我只是想确保我了解它在基本级别上的工作原理(Django-Celery,使用 Redis 作为代理)。
我的理解是,当我调用启动异步任务时,任务信息放在redis中,然后连接到broker的celeryd实例消费并执行任务。这基本上是正在发生的事情吗?
如果我设置了一个应该每小时执行一次的定期任务,该任务是否会在所有任务使用者上执行?如果是这样,有没有办法限制它,以便只有一个消费者会执行定期任务?
python - 使用 Django 和 Celery 的动态页面
我在我的tasks.py
文件中注册了一个 Celery 任务。当有人发布到 /run/pk 时,我使用给定的参数运行任务。此任务还执行其他任务(普通 Python 函数),并且我想在子任务完成其工作时更新我的页面(在 /run/pk 返回的 HttpResponse)。
这是我的任务:
python - 通知芹菜任务工人关闭
我将 celery 2.4.1 与 python 2.6、rabbitmq 后端和 django 一起使用。如果工人关闭,我希望我的任务能够正确清理。据我所知,您无法提供任务析构函数,因此我尝试连接到worker_shutdown信号。
注意:AbortableTask仅适用于数据库后端,所以我不能使用它。
但是,关闭挂钩永远不会被调用。Ctrl-C'ing 工人不会杀死任务,我必须从 shell 手动杀死它。
因此,如果这不是正确的方法,我该如何让任务优雅地关闭?
django - Django 和 Celery 的示例:周期性任务
我一直在与 Django/Celery 文档作斗争,现在需要一些帮助。
我希望能够使用 django-celery 运行定期任务。我在互联网(和文档)中看到了几种不同的格式和模式,说明应该如何使用 Celery 实现这一目标......
有人可以帮助创建、注册和执行 django-celery 定期任务的基本功能示例吗?特别是,我想知道我是否应该编写一个扩展 PeriodicTask 类的任务并注册它,或者我是否应该使用@periodic_task 装饰器,或者我是否应该使用@task 装饰器,然后为任务的执行。
我不介意这三种方式是否都可行,但我希望看到至少一种可行方式的示例。非常感谢您的帮助。
django - 停止/清除 Django-Celery 中的定期任务
通过继承 PeriodicTask,我设法让周期性任务在 django-celery 中工作。我试图创建一个测试任务并让它运行一些无用的东西。有用。
现在我无法阻止它。我已阅读文档,但无法找到如何从执行队列中删除任务。我尝试过使用 celeryctl 并使用 shell,但是 registry.tasks() 是空的,所以我看不到如何删除它。
我已经看到我应该“撤销”它的建议,但为此我似乎需要一个任务 ID,而且我看不到如何找到任务 ID。
谢谢。
django - 如何关闭芹菜中的突出显示?
我正在使用 celery 管理命令在 django 应用程序中进行一些调试:
输出以非常刺眼的颜色突出显示。有什么办法可以关闭高亮吗?
django - 为什么 RabbitMQ 不断从损坏的持久化日志文件中中断?
我正在使用RabbitMQ作为消息代理的Django应用程序中运行Celery 。但是,RabbitMQ 一直这样崩溃。首先是我从 Django 得到的错误。跟踪大多不重要,因为我知道导致错误的原因,正如您将看到的。
我知道这是由于rabbit_persister.log文件损坏所致。这是因为在我杀死与 RabbitMQ 相关的所有进程后,我运行“sudo rabbitmq-server start”来获得以下崩溃:
我当前的修复:每次发生这种情况时,我都会将相应的 rabbit_persister.log 文件重命名为其他文件(rabbit_persister.log.bak),并且能够成功重新启动 RabbitMQ。但是问题一直在发生,我不知道为什么。有任何想法吗?
另外,作为免责声明,我没有使用 Erlang 的经验;我只使用 RabbitMQ,因为它是 Celery 偏爱的代理。
在此先感谢,这个问题真的很烦我,因为我一遍又一遍地做同样的修复。
django - django-celery warnings about settings.DEBUG
I have some questions regarding running djcelery.
When I run
The workers seem to have started but the warnings concern me:
Googled for this warning message but no one seems to care about it. Should I be concerned?
Thanks a lot!
django - django-celery:没有配置结果后端
我正在尝试在我的项目中使用 django-celery
在 settings.py 我有
服务器开始正常
但是,如果我想访问延迟任务的结果,则会收到以下错误:
这很奇怪,因为当我只运行 celeryd(使用相同的 celery 设置)时,它工作得很好。有没有人遇到过这个问题?
提前致谢!
django - 根据用户输入使用 django-celery 安排任务
我正在使用 django 构建一个报告门户。在这个门户中,我需要让用户能够安排报告在重复发生的基础上运行。我一直在研究 django-celery 并了解您可以使用periodic_task 装饰器来安排重复发生的任务,但在所有示例中,我看到 cron 调度信息被硬编码到装饰器中。
有没有办法使用 django-celery 根据用户的输入动态安排重复发生的任务?
例如,用户使用表单来选择他们想要运行的报告,提供报告所需的所有参数以及他们想要运行报告的时间表。处理完表单后,是否有可以调用的方法或函数将 run_report 任务添加到计划中?如果是这样,有没有办法检索存储在数据库中的所有当前时间表以便显示它们?