Проблемы со скворцом / рабочим в производственном режиме - PullRequest
3 голосов
/ 17 июня 2009

У меня есть приложение 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

1 Ответ

5 голосов
/ 29 июня 2009

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

RAILS_ENV=production ./script/workling_client start -t
...