我有一个具有异步处理的rails应用程序,我无法让它在生产模式下工作.我从应用程序的根开始咆哮,如下所示:
starling -d -P tmp/pids/starling.pid -q log/
Run Code Online (Sandbox Code Playgroud)
然后我开始像这样工作
./script/workling_client start -t
Run Code Online (Sandbox Code Playgroud)
我第一次运行它,它抱怨因为没有开发数据库,所以我创建了一个开发数据库,当我重新开始工作时该错误就消失了.但是当我尝试实际运行异步进程时,我在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.
Run Code Online (Sandbox Code Playgroud)
所以,我跑了
sudo killall starling
Run Code Online (Sandbox Code Playgroud)
然后从应用程序的根目录重新启动starling,如下所示:
starling -d -P tmp/pids/starling.pid -q log/ -p 15151
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但当我尝试再次使用此脚本/ 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 …
Run Code Online (Sandbox Code Playgroud)