Я получил задачи Celery, которые выполняются нормально, используя настройки по умолчанию в руководствах и rabbitmq, работающие в Ubuntu. Все хорошо, когда я планирую задачу без задержки, но когда я даю им это, они планируются в будущем, как будто мои часы где-то выключены.
Вот код Python, который запрашивает задачи:
for index, to_address in enumerate(email_addresses):
# schedule one email every two seconds
delay = index * 2
log.info("MessageUsersFormView.process_action() scheduling task,"
"email to %s, countdown = %i" % (to_address, delay) )
tasks.send_email.apply_async(args=[to_address, subject, body],
countdown = delay)
Итак, первый должен выходить немедленно, а затем каждые две секунды. Глядя на мою консоль из сельдерея, первая происходит немедленно, а затем другие планируются с интервалом в две секунды, но начинаются завтра:
[2012-03-09 17:32:40,988: INFO/MainProcess] Got task from broker: stabil.tasks.send_email[24fafc0b-071b-490b-a808-29d47bbee435]
[2012-03-09 17:32:40,989: INFO/MainProcess] Got task from broker: stabil.tasks.send_email[3eb6c3ea-2c84-4368-babe-8a2ac0093836] eta:[2012-03-10 01:32:42.971072-08:00]
[2012-03-09 17:32:40,991: INFO/MainProcess] Got task from broker: stabil.tasks.send_email[a53110d6-b704-4d9c-904a-8d74b99a33af] eta:[2012-03-10 01:32:44.971779-08:00]
[2012-03-09 17:32:40,992: INFO/MainProcess] Got task from broker: stabil.tasks.send_email[2363329b-47e7-4edd-b38e-b09fed232003] eta:[2012-03-10 01:32:46.972422-08:00]
Я совершенно новичок в Celery и RabbitMQ, поэтому любые советы о том, как это исправить или найти причину, были бы полезны. Это на виртуальной машине VMWare Ubuntu, но у меня установлены часы правильно.
Спасибо!