我刚刚发现了一个配置选项CELERYD_PREFETCH_MULTIPLIER(文档)。默认值为4,但我想要预取关闭或者尽可能低。我现在把它设置为1,离我想要的很接近,但还有一些事情我不理解: 为什么这个预取是个好主意?我真的看不出来有什么理由,除非消息队列与工作进程之间存在很大的延迟(在...
我在Celery中有一个任务,正常情况下可能需要运行10,000秒。然而,我所有其他的任务都应该在不到1秒钟内完成。如何为故意长时间运行的任务设置时间限制,而不更改短时间运行的任务的时间限制?
当发布一个新构建以更新工作程序中的代码时,如何优雅地重启celery工作者? 编辑: 我的意图是做类似于这样的事情。 工作者正在运行,可能正在将100 MB文件上传到S3 新的构建出现 工作者代码已更改 构建脚本向工作者发送信号 使用新代码启动新工作者 接收到信号的工作者完成现有任务后退出。
我正在使用Celery执行异步后台任务,Redis作为后端。我对以下情况下Celery worker的行为感兴趣: 我正在使用celeryd将worker作为守护进程运行。通过-Q选项,将两个队列分配给该worker以进行消费:celeryd -E -Q queue1,queue2 工作者如...
我在一个模块中定义了一个 Celery 应用程序,现在我想从该模块的 __main__ 启动工作进程,即通过使用命令行上的 celery 而不是 python -m 来运行该模块。 我尝试了以下代码:app = Celery('project', include=['project.tasks...
我的Celery与RabbitMQ代理一起运行。 今天,我的一个Celery节点出现故障,它不执行任务,并且不响应service celeryd stop命令。 经过几次尝试后,该节点停止了,但是在启动时我收到以下消息: [WARNING/MainProcess] celery@nodena...
一个并发数为4的工作者和两个并发数为2的工作者在同一个队列上有什么不同? 谢谢。
我刚开始使用django-celery,希望将celeryd设置为守护进程。然而,说明文档似乎暗示每次只能为一个站点/项目进行配置。celeryd是否可以处理多个项目?或者它只能处理一个项目?如果是这种情况,有没有一种干净的方式为每个配置自动启动celeryd,而不需要为每个配置创建单独的in...