Pracuję z pracownikami Seler na Heroku i jedno z zadań przekroczyło limit czasu. Po ponownym sprawdzeniu go ręcznie wszystko działało dobrze, więc prawdopodobnie był to problem z połączeniem. Używam RabbitMQ jako brokera, a Seler jest skonfigurowany do wykonywania późnego potwierdzenia zadań (CELERY_ACKS_LATE = True). Spodziewałem się, że zadanie zostanie zwrócone do kolejki RabbitMQ i ponownie przetworzone przez innego pracownika, ale tak się nie stało. Czy muszę skonfigurować cokolwiek innego, aby zadanie powróciło do kolejki RabbitMQ po przekroczeniu limitu czasu przez pracownika?Seler nie postawił zadania w kolejce RabbitMQ po przekroczeniu limitu czasu
Oto kłody:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.4/site-packages/billiard/pool.py", line 639, in on_hard_timeout
raise TimeLimitExceeded(job._timeout)
billiard.exceptions.TimeLimitExceeded: TimeLimitExceeded(60,)
[2015-09-02 06:22:14,504: ERROR/MainProcess] Hard time limit (60s) exceeded for simulator.tasks.run_simulations[4e269d24-87a5-4038-b5b5-bc4252c17cbb]
[2015-09-02 06:22:18,877: INFO/MainProcess] missed heartbeat from [email protected]
[2015-09-02 06:22:18,922: ERROR/MainProcess] Process 'Worker-1' pid:9 exited with 'signal 9 (SIGKILL)'