2012-08-10 7 views
8

Ho un compito:lavoratore sedano non si riconnette compito dopo la chiamata di tentativi()

@celery.task(name='request_task',default_retry_delay=2,acks_late=True) 
    def request_task(data): 
     try: 
      if some_condition: 
       request_task.retry() 
     except Exception as e: 
      request_task.retry() 

Io uso il sedano con mediatore di MongoDB e MongoDB risultati backend abilitato.

Quando viene chiamato il metodo dell'attività retry(), né dall'istruzione condizionale né dopo aver rilevato l'eccezione, l'attività non viene ritentata.

nel terminale del lavoratore ottengo messaggio come questo:

[2012-08-10 19: 21: 54.909: INFO/MainProcess] Task request_task [badb3131-8964-41b5-90a7-245a8131e68d] riprovare : L'attività può essere ritentata

Cosa può essere che non va?

AGGIORNAMENTO: Infine, non ho risolto questa domanda e ho dovuto utilizzare il ciclo durante l'attività, quindi le mie attività non vengono mai riprovate.

+0

Quale versione di celery stai usando? –

+0

@ MauroRocco Ho usato il sedano 3.0.4 al momento della domanda. Avevo alcune funzionalità che funzionavano con bug nelle versioni 3.0.4 e 3.0.5 ma le versioni successive funzionavano piuttosto bene. – user1039098

+0

Felice di sentire che.Se è possibile rispondere a te stesso la domanda e spiegare meglio la risoluzione. –

risposta

Problemi correlati