芹菜在给定任务ID之前是否支持返回待处理的任务号?
例如,没有芹菜工人开始,我将task1,task2,task3,这三个都待定,现在,我想要的是,如果我给我的任务3,它告诉我3个之前有2个待处理任务。
我使用芹菜芹菜4.1,RabbitMQ 3.5.4作为经纪人,Redis 3.2.9作为后端。
尽管我可以通过管理API获得兔子队列的深度(例如,来自pyrabbit软件包的get_queue_depth),但这会导致整个队列深度,而不是在指定任务ID之前未决的数字。
我知道我可以自己维护一个队列管理被推送的任务ID。
但是我想如果芹菜或兔子本身有任何简单的方法。
谢谢。
我不确定它是否回答您的问题,但是有控制客户端可以帮助您检查reserved
任务,active
任务等。
i = app.control.inspect()
i.reserved()
#output:
[{'worker1.example.com':
[{'name': 'tasks.sleeptask',
'id': '32666e9b-809c-41fa-8e93-5ae0c80afbbf',
'args': '(8,)',
'kwargs': '{}'}]}]
有关更多信息:http://docs.celeryproject.org/en/latest/userguide/workers.html#dump-of-resved-tasks
您还可以从命令行监视/检查:http://docs.celeryproject.org/en/latest/userguide/monitoring.html#commands