2012-03-10 4 views
5

У меня есть задачи, связанные с сельдерей, которые выполняются нормально, используя настройки по умолчанию в обучающих программах и rabbitmq, работающие на ubuntu. Все нормально, когда я планирую задачу без задержки, но когда я даю им eta, они планируются в будущем, как будто мои часы ушли куда-то.Задача сельдерея eta выключена, используя rabbitmq

Вот некоторые питона код, который просит задач:

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] 

Я совершенно новой для обоих сельдерея и RabbitMQ поэтому любые советы о том, как исправить это или где искать причину было бы здорово. Это находится на виртуальной машине VMWare Ubuntu, но я правильно настроил часы. Спасибо!

ответ

2

Я думаю, что это действительно работает так, как вы ожидаете. Время слева (между квадратными скобками и перед INFO/MainProcess) представлено в local времени, но время eta показано как UTC время. Например:

Потратьте время ETA представлено во второй строке вашей консоли вывода:

2012-03-10 01:32:42.971072-08:00 

Subtract 8 часов (-08:00 является смещение часового пояса), и вы получите:

2012-03-09 17:32:42.971072 

Какие всего через 2 секунды после отправления:

2012-03-09 17:32:40,989 

Я надеюсь, что это сделает сень как таковые. Работа с временами часто дает мне головную боль.

+2

Спасибо за ответ, но если бы это было так, я бы подумал, что задачи будут выполняться. Первая задача (обратный отсчет = 0) выполняется, но никто из других не делает, где они должны выполняться через 2 секунды после друг друга. –