Question

J'ai une application rails à traitement asynchrone et je ne parviens pas à la faire fonctionner en mode production. Je commence starling à partir de la racine de l'application comme suit:

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

alors je commence à travailler comme ça

./script/workling_client start -t

la première fois que j'ai exécuté cela, il s'est plaint de l'absence de base de données de développement. J'ai donc créé une base de développement et cette erreur a disparu lorsque j'ai redémarré Workling. mais lorsque j'essaie d'exécuter un processus asynchrone, je reçois ce message dans 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.

alors, je cours

sudo killall starling

puis redémarrez starling à la racine de l'application, comme suit:

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

qui semble fonctionner correctement, mais lorsque j'essaie de recommencer à travailler avec ce script / workling_client start -t, je reçois ce message dans la 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)

J'ai donc essayé de modifier le fichier config / workling.yml dans le plug-in de workling pour que la production et le développement soient à l'écoute sur 15151, cela ne fonctionnait pas. J'ai ensuite essayé les deux sur 22122, toujours pas de dés, alors je essayé un port aléatoire, mais il donne toujours le même comportement, peu importe ce que je mets dans le fichier workling.yml

Était-ce utile?

La solution

la réponse est que starling doit être démarré en tant que tel:

RAILS_ENV=production ./script/workling_client start -t
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top