Domanda

Ho un'app di rotaie con elaborazione asincrona e non riesco a farla funzionare in modalità di produzione. Comincio a storno dalla radice dell'applicazione in questo modo:

starling -d -P tmp/pids/starling.pid -q log/

quindi inizio a lavorare in questo modo

./script/workling_client start -t

la prima volta che l'ho eseguito, si è lamentato perché non c'era un database di sviluppo, quindi ho creato un database di sviluppo e quell'errore è scomparso quando ho riavviato workling. ma quando provo a eseguire effettivamente un processo asincrono, ottengo questo messaggio in log / production.log

Workling::QueueserverNotFoundError (config/workling.yml configured to connect to queue server on localhost:15151 for this environment. could not connect to queue server on this host:port. for starling users: pass starling the port with -p flag when starting it.

quindi, corro

sudo killall starling

quindi riavvia lo storno dalla radice dell'applicazione in questo modo:

starling -d -P tmp/pids/starling.pid -q log/ -p 15151

che sembra funzionare bene, ma poi quando provo a ricominciare a lavorare con questo script / workling_client start -t, ricevo questo messaggio nella console

/var/rails-apps/daisi/vendor/plugins/workling/lib/workling/clients/memcache_queue_client.rb:68:in `raise_unless_connected!': config/workling.yml configured to connect to queue server on localhost:22122 for this environment. could not connect to queue server on this host:port. for starling users: pass starling the port with -p flag when starting it. If you don't want to use Starling, then explicitly set Workling::Remote.dispatcher (see README for an example) (Workling::QueueserverNotFoundError)

Quindi, ho provato a cambiare il file config / workling.yml all'interno del plugin workling per far ascoltare sia la produzione che lo sviluppo su 15151, che non ha funzionato, quindi ho provato entrambi su 22122, ancora nessun dado, quindi ho ha provato una porta casuale, ma dà comunque lo stesso identico comportamento, indipendentemente da ciò che ho inserito nel file workling.yml

È stato utile?

Soluzione

la risposta è che lo storno deve essere avviato come tale:

RAILS_ENV=production ./script/workling_client start -t
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top