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不会实例化对象-它需要回调。根据官方文档(),您需要指定任务名称。你为什么使用一个类而不是一个普通函数?没有答案,文档中也没有提及