redis - 如何按任务名称检查和取消 celery 任务

  显示原文与译文双语对照的内容
0 0

我使用Celery ( 3 .0 .15 ) 与Redis作为调解人。

有没有一个简单的方法- - - - - 任务中存在具有给定名称的数量Celery否?

而且,作为后续,有没有办法取消Celery队列中存在的具有给定名称的所有任务?

我找遍了 Monitoring和Management Guide,却没有看到一个解决方法嘛。

时间:原作者:4个回答

0 0
# Retrieve tasks
# Reference: http://docs.celeryproject.org/en/latest/reference/celery.events.state.html
query = celery.events.state.tasks_by_type(your_task_name)
# Kill tasks
# Reference: http://docs.celeryproject.org/en/latest/userguide/workers.html#revoking-tasks
for uuid, task in query:
    celery.control.revoke(uuid, terminate=True)
原作者:
0 0

好像 flower提供监视:

https://github .com/mher/flower

实时监控使用Celery Events

任务进度和历史Ability,显示任务详细信息( 参数,开始时间,运行库等) 图形和统计远程控制

查看工作状态和统计Shutdown Control工作并重新启动辅助实例池大小和autoscale设置View和修改队列的worker实例消费来自当前运行任务View View计划任务( ETA/countdown ) 查看保留和撤销任务Apply时间和速率限制Configuration查看器Revoke或终止任务HTTP API

openID身份验证

原作者:
0 0

你可以在一个请求中执行此操作:

app.control.revoke([
    uuid
    for uuid, _ in
    celery.events.state.State().tasks_by_type(task_name)
])
原作者:
0 0

可以在规范位于 django celery

原作者:
...