Python 芹菜节拍:如何定义被定义为类的周期性任务(基于类的任务)
到目前为止,我只处理过定义为函数的芹菜任务。我曾经在Python 芹菜节拍:如何定义被定义为类的周期性任务(基于类的任务),python,celery,celerybeat,Python,Celery,Celerybeat,到目前为止,我只处理过定义为函数的芹菜任务。我曾经在CELERYBEAT_SCHEDULE参数中定义它们的周期性。像这样: from datetime import timedelta CELERYBEAT_SCHEDULE = { 'add-every-30-seconds': { 'task': 'tasks.add', 'schedule': timedelta(seconds=30), 'args': (16, 16) }
CELERYBEAT_SCHEDULE
参数中定义它们的周期性。像这样:
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': timedelta(seconds=30),
'args': (16, 16)
},
}
现在,我尝试使用基于类的任务,例如:
class MyTask(Task):
"""My Task."""
def run(self, source, *args, **kwargs):
"""Run the celery task."""
logger.info("Hi!")
我的问题是:如何定义基于类的任务的周期性执行?不确定是否支持此操作。请阅读此答案的评论:。基本上,Celerybeat不会实例化对象-它需要回调。根据官方文档(),您需要指定任务名称。你为什么使用一个类而不是一个普通函数?没有答案,文档中也没有提及