我无法在 Celery 中获取任务列表(活动、计划......
使用 django,我的 Web 应用程序每次询问 url时都会发送一个带有芹菜的任务:
tasksend = calcul.delay()
如果芹菜已经在进行中,我不想启动这个计算。
所以,我想列出 Celery 收到但尚未完成的任务:如果我的"微积分"任务已经在进行中,那么我将能够不再要求 calcul.delay((
我已经搜索了很多,并且在 Celery 中检索队列中的任务列表中的响应不适合我的芹菜版本。
我使用 : - 姜戈 2.0.13 - 蟒蛇 3.4.2 - 芹菜v4.3.0与REDIS
我已经试过了:
def inspect(method):
app = Celery('app', broker='redis://localhost:6379')
inspect_result = getattr(app.control.inspect(), method)()
app.close()
return inspect_result
和 print( inspect('active'( ( 总是返回 None (与 'register' 获得相同的结果(
我希望能够获得正在进行的任务的名称,并在芹菜中安排,知道吗?
我之前遇到了同样的问题,下面的代码是我用来检查我的任务的代码。
i = app.control.inspect()
if i.active():
for k, v in i.active().items():
print(len(i.active()))
print(len(v))
我在这里使用Rabbitmq而不是Redis作为我的队列,不确定这是否会有任何不同,但是芹菜包装纸"应该"照顾它。
希望这有帮助!