Domanda

So che ci sono diversi plugin che eseguono l'elaborazione asincrona. Qual è il migliore e perché?

Quelli che conosco sono:

È stato utile?

Soluzione

storno e workling sembrano piuttosto interessanti (vedi screencast ) se potessi hanno diversi processi di questo tipo e vuoi metterli in coda.

potresti anche essere interessato al screencast precedente che usa il rake per lo sfondo processo, e per il futuro che probabilmente riguarderà un'altra soluzione alla stessa domanda.

Altri suggerimenti

Aggiungerò DJ (Delayed Job) all'elenco - http : //blog.leetsoft.com/2008/2/17/delayed-job-dj

Di recente i ragazzi di github hanno dato un'ottima recensione: http://github.com/ blog / 197-la-nuova-coda

Il fatto che qualcosa sia la soluzione "migliore" dipende davvero dal problema che stai cercando di risolvere. In alcuni casi la soluzione migliore sarà la soluzione più leggera, in altri la più pesante.

BackgroundRb è probabilmente il processore di lavori in background di Rails più completo, ma è anche il più complicato, quindi richiederà maggiori investimenti per affrontarlo. BackgroundRb probabilmente può gestire la maggior parte dei casi d'uso, dal semplice al complesso.

Ho sentito cose molto positive su Lavoro in background (Bj) che, per citare il file README, è una coda di priorità di sfondo zero zero semplice da cervello morto per Rails . Questa è una soluzione molto più leggera e può essere preferibile a BackgroundRb per la maggior parte degli scenari di conseguenza.

Se tutto ciò che desideri è una soluzione per un'elaborazione offline in stile batch non frequente, script / runner fornito con tutte le app di Rails sarebbe più che adeguato.

Per ulteriori letture potresti voler guardare HowToRunBackgroundJobsInRails dalla Rails Wiki .

Anche Resque può aiutarti.

È uno strumento molto utile per creare lavori in background, posizionarli su più code ed elaborarli in seguito.

I ragazzi di Github l'hanno creato e utilizzato.

L'articolo che segue può aiutarti a iniziare:

http://rubylearning.com/blog/2010 / 11/08 / do-si-sa-resque /

Starling + Workling plugin è semplicissimo. Inoltre, utilizza Memcached che è semplice, testato e scalabile.

BackgrounDRb - Pro: funzionalità complete, messaggistica, Contro: Threaded (eek - Rails non è thread sicuro!), complesso

Daemon Generator - Pro: semplice, esegue lavori e questo è tutto !, Contro : Nessuna di quelle fantasiose cose di messaggistica.

Usiamo Cron. Facile da configurare, facile da mantenere e funziona sempre.

BackgroundRb ti divorerà il cervello.

BackgrounDRb non è threadato, è completamente basato sul processo. Ha solo una funzione di pool di thread che l'utente può utilizzare, se desidera gestire contemporaneamente attività associate a IO.

Prova la versione 1.1 e fammi sapere (sul mio blog) o sulla mailing list di eventuali problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top