from my_celery import app
from delete_duplicate import DeleteDuplicate
import celery
class CallbackTask(celery.Task):
def on_success(self, retval, task_id, args, kwargs):
print "Task id: ", task_id
print "retval ", retval
print "Args ", args
print "kwargs: ", kwargs
def on_failure(self, exc, task_id, args, kwargs, einfo):
print('{0!r} failed: {1!r}'.format(task_id, exc))
class Ott(object):
@app.task(base=CallbackTask())
def delete_duplicate_ott():
print "Inside ott.... "
DeleteDuplicate().delete_duplicate_ott()
@app.task(base=CallbackTask())
def delete_duplicate_noti():
print "Inside noti.... "
DeleteDuplicate().delete_duplicate_noti()
我使用Callback in celery来实现上述回调。
以上代码运行正常。 我想在args或kwargs的on_success()和on_failure()回调中传递参数。成功执行任务后,Args和Kwargs均不打印任何内容。
我在Internet上搜索,找不到使用继承(子类)进行此类回调的任何解决方案。
我们非常感谢您的帮助。谢谢!