2013-09-01 11 views

risposta

83

DelayedJob memorizza un record di database per ogni lavoro in coda in modo da poterli recuperare direttamente tramite la console di rails (presupponendo che si stia utilizzando ActiveRecord o simile).

Aprire la console di rotaie:

$> rails c 

e poi interrogare i lavori accodate:

$> Delayed::Job.all 

o

$> Delayed::Job.last 

Scopri i documentation.

Se si è installato delayed_job con un altro database come Redis, si consiglia di andare a controllare i lavori in coda.

+0

Come posso avviare un ritardato :: Worker su una coda specifica in casi di test? –

8

Dovresti vedere i lavori nella tabella delayed_jobs, sì. Ma quando i lavori in ritardo vengono eseguiti con successo vengono cancellati. Quindi potrebbe essere solo una cosa fugace. (Il lavoro differito controlla la tabella per i nuovi lavori da eseguire ogni 5 secondi, quindi il record può durare solo pochi secondi in media dato un lavoro di breve durata.) Di solito mi assicuro che il demone del lavoro ritardato sia disattivato se voglio ispezionare gli oggetti del carico utile nella tabella delayed_jobs.

+0

I lavori non riusciti vengono cancellati di default, ma è possibile configurare Delayed :: Job per mantenerli in giro. –

Problemi correlati