我试图设置一段时间后过期的周期性任务。我使用的是Django 1.5.1,celery 3.0.19和django-celery 3.0.17(一切都来自pip)。 这是摘录代码来创建任务:芹菜PeriodicTask不会过期
from django.utils import timezone
from datetime import timedelta, datetime
from djcelery.models import PeriodicTask, IntervalSchedule
interval = IntervalSchedule.objects.get(pk=1) # Added through fixture - 3sec interval
expiration = timezone.now() + timedelta(seconds=10)
task = PeriodicTask(name='fill_%d' % profile.id,
task='fill_album',
args=[instance.id],
interval=interval,
expires=expiration) task.save()
我正与./manage.py celeryd -B
运行芹菜正在创建任务就好了,和节拍正在运行,每3秒,但经过10秒不会过期。起初我以为这是django和芹菜之间的时区问题,所以我让它运行了3个小时(与UTC不同),但它仍然不会过期。
在我的测试过程中,我实际上已经设法使其过期一次(并且记录器不断重复它已经过期,每3秒),但是自那之后我一直无法重现。
任何人都可以阐明我做错了什么? 谢谢!
我只是做THT,还是把 – Gabe
尽量在1个天润芹菜没什么,如果任务将结束几个小时,这个问题后,与设置时区。如果我是对的,你应该重复检查与时区有关的设置。 –