Attualmente ho un progetto Rails 3.0, con Ruby 1.9.2 e Resque.Resque: one worker per queue
La mia applicazione ha più classi di lavoro e più code, che vengono create dinamicamente (durante il runtime). Inoltre, ci sono più lavoratori hanno iniziato che sono liberi di lavorare su eventuali code, perché al tempo di inizio, non v'è alcuna coda esistenti, e che non possono essere previsti:
$ COUNT=3 QUEUE=* rake resque:workers
code un creato sulla base dei 's project
id:
@queue = "project_#{project.id}".to_sym
Per una determinata coda, i loro lavori devono essere elaborati in ordine e uno alla volta. Il mio problema è che, avendo più operatori, più processi vengono elaborati in parallelo.
C'è un modo per impostare il numero massimo di lavoratori per coda (su 1)? C'è un modo per bloccare una coda mentre un lavoro è in fase di elaborazione?
Grazie!
Sembra buono @lacco, grazie! Il tuo problema era molto simile al mio, quindi darò presto un'occhiata alla tua soluzione. –