Проблемы со скворечником / работа в производственном режиме

StackOverflow https://stackoverflow.com/questions/1003740

Вопрос

У меня есть приложение rails с асинхронной обработкой, и мне не удается заставить его работать в производственном режиме. Я начинаю скворец из корня приложения примерно так:

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

тогда я начинаю работать таким образом

./script/workling_client start -t

Когда я впервые запустил это, он пожаловался на то, что не было базы данных для разработки, поэтому я создал базу данных для разработки, и эта ошибка исчезла, когда я возобновил работу. но когда я пытаюсь запустить асинхронный процесс, я получаю это сообщение в 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.

Итак, я бегу

sudo killall starling

затем перезапустите скворец из корня приложения следующим образом:

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

, который, кажется, работает нормально, но когда я пытаюсь снова начать работать с этим сценарием / workling_client start -t, я получаю это сообщение в консоли

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

Итак, я попытался изменить файл config / workling.yml внутри рабочего плагина, чтобы заставить и производство, и разработку прослушивать 15151, который не работал, затем я попробовал оба из них на 22122, но все еще не играли в кости, поэтому я попробовал случайный порт, но он все равно дает то же поведение независимо от того, что я положил в файл workling.yml

Это было полезно?

Решение

ответ в том, что скворец должен быть запущен как таковой:

RAILS_ENV=production ./script/workling_client start -t
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top