需要你的帮助。如何在给定的时间间隔(每3分钟),最大重试次数(在终止5次尝试任务之后)的代码中运行芹菜任务,在给定的时间段内(任务只能在上午9点到下午6点工作)和任务必须在任务(ordinal if-else语句)中出现某些条件时自行终止
答案 0 :(得分:0)
正如我所看到的,celery只是一种异步调用任务的工具。因此,在您的情况下,您只使用celery来调用具有间隔的任务,并检查任务中的尝试,期间和终止条件,例如:
<强> celery.py 强>
app = Celery('test_celery_app')
app.conf.beat_schedule = {
'run-every-3-mins': {
'task': 'celery.my_task',
'schedule': 180.0
},
}
@app.my_task
def my_task():
if datetime.time(9, 0, 0) <= datetime.datetime.now().time() <= datetime.time(18, 0, 0):
for try_count in xrange(5):
# some operations
if check_termination_conditions(): # condition to terminate task
return