Ciao a tutti, complimenti per il Ruby Day, un'iniziativa veramente fantastica e ben riuscita. Sto sviluppando un applicativo che prevede varie attivit di download, processing con Imagemagick, e upload di immagini, il tutto periodicamente ogni X minuti e all'infinito per ogni utente. L'iterazione corrente usa Resque pi resque-scheduler per il re-enqueueing dei job, con due worker, quindi due CPU pi il lavoro di ImageMagick che gi multithreaded e onestamente mi pare piuttosto efficiente, ma la scalabilit mi preoccupa un po'. Conosco piuttosto bene Celluloid dal punto di vista della concorrenza, ma finora l'avevo solamente utilizzato per gestire flussi di eventi di telefonia o XMPP, che sarebbe poi il suo impiego primario essendo ispirato da Erlang. Siccome il budget veramente molto stringato e ho anche poco tempo libero, prima di imbarcarmi in una re-implementazione con Celluloid mi piacerebbe avere un'opinione da parte vostra sull'eventuale possibilit di prestazioni migliori usando un sistema actor-based, trattandosi di una procedura con svariati tempi morti bloccanti (download-processing-upload). Il tutto andrebbe spostato sotto JRuby per sfruttare i thread nativi, oppure semplicemente lanciato in pi istanze. Che ne pensate? Luca
on 2012-06-18 09:13
on 2012-06-18 17:35
Ciao Luca, Grazie per i complimenti da parte di tutto lo staff RubyDay! La soluzione migliore consiste nell'uso del Reactor Pattern: EventMachine o Nodejs che sia. In questo modo ogni worker potrebbe gestire fino molti job in contemporanea, poich la maggior parte dei task I/O il download delle immagini e la comunicazione con ImageMagick. Infine, siccome sei asincrono, potresti evitarti del tutto la gestione via resque, e svolgere tutto direttamente dai processi principali alla bisogna. Ciao, Matteo
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.