2012-07-01 10 views
6

Sto utilizzando il gemma sidekiq per elaborare processi in background in Rails. Per qualche motivo, il lavoro si blocca solo dopo un po '- il processo non risponde, appare su top ma non molto altro, o scompare misteriosamente, senza errori (nulla è riportato su airbrake.io).I lavori Sidekiq con esecuzione prolungata continuano a morire

qualcuno ha avuto esperienza con questo?

risposta

1

ho sperimentato questo, e non ho trovato una soluzione di causa/root.

non ho potuto risolvere questo in modo pulito, ma si avvicinò con un hack.

ho configurato Dio per monitorare i miei processi Sidekiq, e riavviarli se un file è cambiato.

Ho quindi impostare un job di cron che corse ogni 5 minuti che controllati tutti gli operai Sidekiq attuali per una coda. Se una certa% dei lavoratori aveva un'ora di inizio di < = 5 minuti in passato, significava che quei lavoratori erano sospesi per qualche motivo. Se ciò accadeva, ho toccato un file, il che ha fatto riavviare Dio Sidekiq. Per me, 5 minuti era l'ideale, ma dipende da quanto a lungo i tuoi lavori vengono eseguiti.

questo è l'unico modo ho potuto risolvere appeso lavori Sidekiq senza controllare manualmente su di loro ogni ora, e il riavvio io stesso.

+2

Puoi condividere questo script? –