如何获取已经发送到芹菜的任务列表?



我无法在 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作为我的队列,不确定这是否会有任何不同,但是芹菜包装纸"应该"照顾它。

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新