Python 芹菜

Python 芹菜,python,celery,django-celery,Python,Celery,Django 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属性。该值可能

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

from celery.task import PeriodicTask

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

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

为什么要更改参数?每次谁会通过辩论?调度程序在指定的调度时间调用run方法

您只需从数据库或其他任何地方读取“值”

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

否则-您可能需要按此处所述创建自定义调度程序类,并重写其某些方法。

这只是一个简单的字典。我真的必须创建另一个表并从数据库中读取它吗?run()方法由调度程序调用。因此,您应该定制调度器类,或者从一些持久性介质(数据库、文件、缓存等)中读取run()中的值。