【问题标题】:Celery class based task apply_async基于 Celery 类的任务 apply_async
【发布时间】:2013-11-23 02:55:48
【问题描述】:

我的类继承自 celery.task.PeriodicTask,我有时想异步运行此任务。

如果这是一个通常的方法任务,我做了类似的事情:

@periodic_task(run_every=timedelta(minutes=15))
def mytask(additional=False):
    if a==b and not additional:
        # args = [True,] sets additional=True
        mytask.apply_async(args=[True, ], countdown=7*60)

但现在我有课了:

from celery.task import PeriodicTask
class MyClassTask(PeriodicTask):
    def run(self, additional=False):
        if a == b and not additional:
            self.apply_async(task_id=self.request.id, args=[True, ], countdown=7*60)

编辑:代码运行正常。我检查过了,不再需要提问。

【问题讨论】:

    标签: celery django-celery


    【解决方案1】:

    我手动进行了双重检查,我的代码可以正常工作,任何人都可以这样做:

    from celery.task import PeriodicTask
    class MyClassTask(PeriodicTask):
        def run(self, additional=False):
            if a == b and not additional:
                self.apply_async(task_id=self.request.id, args=[True, ], countdown=7*60)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      相关资源
      最近更新 更多