Ho un'app per rails che deve richiedere dati da un processo in esecuzione locale che esegue EventMachine. Qual è il modo migliore di implementare questa richiesta/risposta?Comunicazione tra Rails e Ruby EventMachine Process
risposta
Grazie per le risposte. Ho finito per utilizzare RabbitMQ.
Non sono sicuro, ma proverei a utilizzare i socket per questo. EM - ascolta e riceve messaggi, restituisce dati, Rails - collega a EM e invia un messaggio e riceve i dati.
Non so se questa è la risposta perfetta, ma sto cercando lo stesso problema e proverò a utilizzare https://github.com/kwi/BrB.
Inoltre, controllare questo post del blog: http://www.tricksonrails.com/2010/04/introducing-brb-extremely-fast-interface-for-doing-distributed-ruby/
Verificare inoltre un nuovo gioiello: websocket-rails
offerte supporto Plug and Play websocket per Ruby on Rails.
Il modo più semplice è quello di avere il proprio back-end per parlare HTTP. L'app Rails esegue quindi una richiesta HTTP sul tuo server di back-end. Restituisci i dati in JSON e usali come necessario in Rails.
A PostRank abbiamo creato Goliath che abbiamo eseguito dietro HAProxy ai dati di superficie per le nostre app Rails.
Dai uno sguardo a IO.pipe
se hai un sistema * nix e stai eseguendo un fork per il ciclo EM.run
.
Tutte le altre risposte a queste domande propongono di usare il cannone per uccidere le mosche. –
È necessaria la sincronizzazione dei dati (per una risposta http) o asincrona (come operatore)? – Reactormonk
@tass Desidero che i binari chiedano un processo per alcuni dati e il processo risponda immediatamente ai dati come l'interazione tra un server Web e un browser. I dati sarebbero probabilmente in JSON. – Mike
@tass so data sync – Mike