Hi (questo è l'autore di HireFire)
cercherò di fornire alcune informazioni riguardanti le differenze tra i servizi. Non sono sicuro che ti aiuterà molto con la tua decisione, ma almeno è qualcosa!
Entrambe le soluzioni hanno un approccio diverso. HireFire si limita a ridimensionare il tuo web Heroku e le dinamiche dei lavoratori quando necessario. Non è necessario modificare nulla nella base di codice esistente, è sufficiente utilizzare il lavoro differito come di consueto. Non devi inviare/scrivere codice per un ambiente/piattaforma separato poiché è compilato come una lumaca sulla piattaforma di Heroku al momento dell'implementazione, e quando un nuovo dyno web o lavoratore si alza, lo slug viene usato e viene eseguito immediatamente (contenente tutto il tuo Variabili/impostazioni ENV
Lo svantaggio di HireFire rispetto a SimpleWorker è che HireFire è specifico di Heroku, quindi se mai si passa da Heroku ad esempio a EngineYard o a una casella VPS/dedicata, HireFire non funzionerà, ma SimpleWorker non è strettamente legato ad Heroku, anche se è probabilmente molto economico da ospitare su una piattaforma non PaaS (in confronto) quindi l'auto-ridimensionamento non sarebbe necessariamente necessario o quasi.
I è stato un cliente di SimpleWorker prima di sviluppare HireFire e la t Personalmente non mi piaceva il fatto che dovevo spingere parte del mio codice base a SimpleWorker, caricare nel mio ambiente Rails, riconnettermi al database dalla loro posizione di server e fare anche richieste API (?) ogni volta che volevo inviare un lavoro nel cloud (anche se ora potrebbe essere cambiato, quindi ti incoraggio a verificarlo da te stesso per essere sicuro, e forse non è un grosso problema per te come lo era per me). Per me è stato semplicemente troppo fastidio/tentativi ed errori ogni volta che volevo aggiungere nuove classi di lavoro e ho dovuto caricare tutti i singoli pezzi di codice dalla mia app e le mie gemme nei file della classe di lavoro stessa, mentre in esecuzione heroku ps:workers 1
o heroku ps:scale worker=2
creerebbe istantaneamente un lavoratore o due e avvierà l'elaborazione con zero modifiche al mio codice base, esattamente come quando lo eseguo localmente, poiché la mia intera app è già compilata come una lumaca su Heroku, lo usa solo, inclusa la mia ENV variabili e altre impostazioni/addon e si avvia velocemente.
Con HireFire è sufficiente aggiungere al vostro the hirefireapp gem Gemfile, aggiungere l'account Heroku/applicazioni all'interfaccia web HireFire, personalizzare le vostre esigenze di scala, distribuire l'applicazione a Heroku, e il gioco è fatto. Le tue applicazioni saranno costantemente monitorate e gestite/regolate (al minuto o meno).
HireFire non viene fornito con un'interfaccia slick con tabelle di lavori e il loro stato (in esecuzione/finito/non riuscito/ecc.) (Ha una panoramica della quantità corrente di dinamiche web/worker e lavori in coda per ogni app naturalmente, e le impostazioni di ridimensionamento personalizzabili), anche se questo è davvero il lavoro della biblioteca dei lavoratori per fornire tale funzionalità. Lavoro ritardato da quello che so ha una o due piccole interfacce di amministrazione che è possibile utilizzare (open source) che non sono legate a HireFire. Poiché SimpleWorker è sia un servizio in hosting, sia una libreria di lavoro in uno, fornisce anche un'interfaccia web.
HireFire ha la capacità di scalare anche i tuoi dynos web, non solo i tuoi dynos di lavoro.
Entrambi i servizi hanno la capacità di elaborare molti lavori in parallelo, poiché sia Heroku che SimpleWorker sono pro-valutati al secondo da quello che ho capito. Quindi, se fai girare 10 dinamiche di lavoro per 6 secondi, o 1 per 60 secondi non fa differenza (o appena) in costi.
Non ho usato SimpleWorker dopo aver rilasciato HireFire da solo, che era un po 'di tempo fa quindi non sono sicuro di cosa altro SimpleWorker offre in questi giorni o se hanno semplificato il processo da allora, quindi non sono sicuro se il sopra le affermazioni che ho fatto sono ancora valide in questo momento.
Spero che questo aiuti!
Michael, grazie mille per la tua risposta dettagliata! – sscirrus
Prego! –