I use celery to schedule future emails. I set the task in celery using apply_async () and ETA, sometimes set in the future.
When I look in flower, I see that all tasks planned for the future have RECEIVED status.
If I restart the celery, all tasks will disappear. Why did they leave?
I use redis as a broker.
EDIT1
In the documentation, I found:
If the task is not confirmed during the visibility timeout, the task will be redirected to another employee and completed.
This causes problems with ETA / countdown / retry tasks when the execution time exceeds the visibility timeout; in fact, if this happens, it will be executed again and again in a loop.
, - , ETA, .
, , " " .
- , ETA/ .
, :
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 43200}
int, .
ETA .
2
, :
$celery -
{u'priority ': 6, u'eta': u'2015-11-22T11: 53: 00-08: 00 ', u'request': {u'args ': u' (16426,) ', u'time_start': , u'name ': u'core.tasks.action_du e ', u'delivery_info': {u'priority ': 0, u'redelivered': None, u'routing_key ': u'celery', u'exchange ': u'celery'}, u'hostname ': u 'celery@app.myplanmap.com', u'ack nowledged ': False, u'kwargs': u '{}', u'id ': u'8ac59984-f8d0-47ae-ac9e-c4e3ea9c4a c6 ', u'worker_pid': None}}
, , redis , ?