Frage

Ich habe eine Rails -App mit einer asynchronen Verarbeitung, und ich habe Schwierigkeiten, sie im Produktionsmodus zum Laufen zu bringen. Ich beginne mit dem Star der Wurzel der Anwendung wie SO:

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

Dann fange ich an, so zu arbeiten

./script/workling_client start -t

Das erste Mal, als ich dies leitete, beschwerte es sich, weil es keine Entwicklungsdatenbank gab, also habe ich eine Entwicklungsdatenbank erstellt, und dieser Fehler verschwand beim Neustart von Workling. Aber wenn ich versuche, einen asynchronen Prozess auszuführen, erhalte ich diese Nachricht 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.

Also renne ich

sudo killall starling

Starten Sie dann den Stern von der Wurzel der Anwendung wie folgt neu:

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

Was gut zu funktionieren scheint, aber wenn ich dann versuche, mit diesem Skript/Workling_Client zu beginnen, erhalte ich diese Nachricht in der Konsole

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

Also habe ich versucht, die Datei config/Workling.yml im Workling -Plugin zu ändern, um Produktion und Entwicklung 15151 zuzuhören, das hat nicht funktioniert. Dann habe ich beide bei 22122 versucht, immer noch keine Würfel, also habe ich ein zufälliges versucht Port, aber es gibt immer noch genau das gleiche Verhalten, egal was ich in die Datei Workling.yml eingehe

War es hilfreich?

Lösung

Die Antwort ist, dass Starling als solche begonnen werden muss:

RAILS_ENV=production ./script/workling_client start -t
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top