[英]Celery PeriodicTask arguments
如何以编程方式更改传递给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属性。 该值可能是一个字典,但我怀疑它是否会更改任何内容。
为什么要更改参数? 谁会每次都通过争论? 调度程序在指定的调度时间调用run方法。
您可以简单地从数据库或其他任何内容中读取“值”。
def run(self, **kwargs):
value = get_value_from_database()
print 'Passed value %s' % value
否则-您可能需要按如下所述创建自定义的Scheduler类: http : //celery.github.com/celery/userguide/periodic-tasks.html#using-custom-scheduler-classes ,并覆盖其某些方法。 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.