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