2013-11-13 2 views
0

У меня есть задача сельдерея, которую я вызываю, используя ключевое слово countdown.Набор обратных отсчетов сельдерей eta в прошлом

def plan_my_task(): 
    countdown = some_computation_function()  #result is a positive integer 
    res = my_task.apply_async(args=[some_arg], countdown=countdown) 

@task 
def my_task(some_arg): 
    do_something() 

В моих журналах в увидеть что-то вроде

[2013-11-14 01:22:31,516: INFO/MainProcess] Received task: my_module.my_task[d5d36a59-b88a-43cb-b7ac-bf0737cdab2c] eta:[2013-11-14 01:16:17.513310+01:00] 

Как вы можете видеть, ет установлен до текущего времени!

Я использую сельдерей 3.1.

+0

Вы говорите, что обратный отсчет положительный, но, чтобы быть уверенным, если вы должны были заменить 'countdown = countdown' на' countdown = abs (обратный отсчет) 'вы все еще видите это в журналах? – Gerrat

+0

Кроме того, когда вы говорите, что обратный отсчет положительный, просто любопытно ... насколько велика это типично ... в десятках или тысячах? – Gerrat

+0

Обычно в десятках. Я попытался записать его до 30, без результата – Vincent

ответ

0

На самом деле я не использую сельдерей, но из API он выглядит как countdown - параметр ключевого слова как Task.apply_async, так и Task.retry. Это не является ключевым словом для функции просто украшенного @task

EDIT: Согласно this answer, это может быть, что время журнала по местному времени, а время ЭТОГО во время UTC. Это может быть возможно, если обратный отсчет был в тысячах (чтобы дать нам несколько часов, а не несколько минут, это похоже на то, что он не сравнивает время напрямую)

+0

Вы абсолютно правы. Однако вызов apply_async отсутствовал только в моем вопросе, а не в моем фактическом коде - извините. Починил это. – Vincent

 Смежные вопросы

  • Нет связанных вопросов^_^