芹菜周期任务参数


如何

以编程方式更改传递给 Celery 的参数?我必须在以下代码中更改什么:

from celery.task import PeriodicTask
class MyTask(PeriodicTask):
    run_every = timedelta(seconds=1)
    value = ''
    def run(self, **kwargs):
        print 'Passed value %s' % value

我希望能够在应用程序生命周期内更改 value 属性。该值可能是字典,但我怀疑它是否会改变任何东西。

为什么要更改参数?谁每次都会通过论点?运行方法由计划程序在指定的计划时间调用。

您可以简单地从数据库或其他任何内容中读取"值"。

def run(self, **kwargs):
    value = get_value_from_database()
    print 'Passed value %s' % value

否则 - 您可能需要创建自定义调度程序类,如下所述:http://celery.github.com/celery/userguide/periodic-tasks.html#using-custom-scheduler-classes,并重写其某些方法。

最新更新