sec*_*rve 9 python amqp rabbitmq celery
我只创建了下表中Rabbitmq管理Webui中显示的最后2个队列名称:
表的其余部分有类似哈希的队列,我不知道:
Run Code Online (Sandbox Code Playgroud)1- Who created them? (I know it is celery, but which process, task,etc.) 2- Why they are created, and what they are created for?.
我可以注意到,当推送消息的数量增加时,这些类似哈希的消息的数量会增加.
使用celery时,Rabbitmq用作默认结果后端,也用于存储失败任务的错误(引发异常).
每个新任务都会在服务器上创建一个新队列,其中代理可能会使用队列重载数千个任务,这将以负面方式影响性能.
Rabbit中的每个队列都是一个单独的Erlang进程,因此如果您计划同时保留许多结果,则可能需要增加Erlang进程限制以及操作系统允许的最大文件描述符数.
旧结果不会自动清理,所以我们必须告诉兔子这样做.
以下conf.line指示临时队列的生存时间.默认值为1天
CELERY_AMQP_TASK_RESULT_EXPIRES = Number of seconds
Run Code Online (Sandbox Code Playgroud)
或者,我们可以完全改变后端存储,而不是在Rabbit中.
CELERY_BACKEND = "amqp"
Run Code Online (Sandbox Code Playgroud)
我们也可能会忽略它:
CELERY_IGNORE_RESULT = True.
Run Code Online (Sandbox Code Playgroud)
此外,当忽略结果时,我们还可以保留错误以供以后使用,这意味着失败任务还有一个队列.
CELERY_STORE_ERRORS_EVEN_IF_IGNORED = True.
Run Code Online (Sandbox Code Playgroud)
我不会将这个问题标记为已回答,等待更好的答案.
Rererences:
归档时间: |
|
查看次数: |
2431 次 |
最近记录: |