Pregunta

Tengo una aplicación de rieles que tiene un procesamiento asíncrono y tengo problemas para que funcione en modo de producción. Comienzo a starling desde la raíz de la aplicación así:

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

luego empiezo a trabajar de esta manera

./script/workling_client start -t

la primera vez que ejecuté esto, se quejó porque no había una base de datos de desarrollo, así que creé una base de datos de desarrollo, y ese error desapareció cuando reinicié workling. pero cuando intento ejecutar un proceso asíncrono, recibo este mensaje en 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.

entonces, corro

sudo killall starling

luego reinicia el estornino desde la raíz de la aplicación como esta:

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

que parece funcionar bien, pero cuando trato de comenzar a trabajar nuevamente con este script / workling_client start -t, recibo este mensaje en la consola

/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)

Entonces, intenté cambiar el archivo config / workling.yml dentro del plugin de workling para que tanto la producción como el desarrollo escuchen en 15151, eso no funcionó, luego probé ambos en 22122, todavía no hay dados, así que probé un puerto aleatorio, pero aún así da exactamente el mismo comportamiento sin importar lo que coloque en el archivo workling.yml

¿Fue útil?

Solución

la respuesta es que Starling debe iniciarse como tal:

RAILS_ENV=production ./script/workling_client start -t
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top