0
我试图去清理一些东西后,我杀了一个正在运行的任务在芹菜。目前,我正在打2个问题:在Celery + Python中,如何从task_revoked函数访问任务参数?
1)任务吊销函数体里面,我怎么可以访问该任务调用该函数的参数:因此,例如,如果该任务被定义为:
@app.task()
def foo(bar, baz):
pass
我将如何访问bar
和baz
里面的task_revoked.connect
代码?
2)我想杀掉一个任务,只有当它的状态不是X时,这意味着一方面检查任务,另一方面设置状态。我猜可以完成状态检查,但是我很难在头脑中围绕任务函数体内的上下文。
如果我foo定义是这样的:
@app.task(bound=True)
def foo(self, bar, baz):
pass
和发言权调用它....瓶像foo(bar, baz)
,然后我会得到一个错误的第三个参数的预期,这意味着做装饰不通过self参数自动添加任何上下文。
应用提前
的东西是芹菜文档显示某种课堂互动的,而是给比其他任何更多的细节:http://docs.celeryproject.org/en/master/userguide/tasks.html#context。如果我试图在一个类中推送我的函数并调用它们,那么这个自我不会构成一个状态参数,这表明装饰器不会添加任何额外的东西 –
@omu_negru看起来您的代码中存在拼写错误,检查更新的答案。 – ChillarAnand
实际上做到了。非常感谢,不会发现那个 –