我有一个自定义的celery任务类,然后在装饰器@ celeryApp.task中使用它。我使用apply_async执行任务。
我的任务类别是:
class CeleryTask(Task):
def run(self, *args, **kwargs):
pass
def on_success(self, retval, task_id, args, kwargs):
pass
def on_failure(self, exc, task_id, args, kwargs, einfo):
pass
然后我将任务声明为:
@celeryApp.task(base=CeleryTask)
def my_celery_task(param1, param2):
pass
最后我用apply_async执行它
my_celery_task.apply_async(
(
'value1', 'value2'
),
countdown=2)
我希望所有基于CeleryTask的任务的倒计时为2。
但是,我在文档的任何地方都看不到该怎么做。我看了看celery.app.task:Task,但没有倒数属性。
反正某些任务类别有默认的倒数计时吗?
答案 0 :(得分:0)
正如您所指出的,Task类不包含倒数属性。我认为主要是因为倒计时是描述任务如何执行的内容,而不是描述任务本身的内容。
但是,这还不是世界的尽头。您对此有一个很好的解决方案。
coundown=self.m_countdown
(或您将其命名)调用超类方法。