ruby-on-rails - starlink 的问题/在生产模式下工作

标签 ruby-on-rails asynchronous workling starling-server

我有一个具有异步处理功能的 Rails 应用程序,但我无法让它在生产模式下工作。我像这样从应用程序的根部开始八哥:

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

然后我开始这样工作

./script/workling_client start -t

我第一次运行它时,它提示说没有开发数据库,​​所以我创建了一个开发数据库,​​当我重新启动 workling 时,这个错误就消失了。 但是当我尝试实际运行一个异步进程时,我在 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:

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)

所以,我尝试更改 workling 插件中的 config/workling.yml 文件,让生产和开发都在 15151 上监听,但没有用,然后我在 22122 上尝试了两个,仍然没有骰子,所以我尝试了一个随机端口,但无论我在 workling.yml 文件中放入什么,它仍然会给出完全相同的行为

最佳答案

答案是Starling必须这样启动:

RAILS_ENV=production ./script/workling_client start -t

关于ruby-on-rails - starlink 的问题/在生产模式下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1003740/

相关文章:

java - 返回具有不同 Http 状态的 Rest CompletableFuture

javascript - 如何在 Vuejs 中过滤异步计算数据

ruby-on-rails - 在 Rails 3 中附加文件 - mimepart Mailer

sql - Rails 过滤多对多关系中的记录

c# - 如何在 C# 中等待单个事件,超时和取消

ruby-on-rails - 八哥 : How to speed up the queue

ruby-on-rails - 工作客户端在启动后几秒钟内停止

ruby-on-rails - Ruby on Rails : Once you've eager loaded an association that has conditions, 如何在不再次接触数据库的情况下获取它?

ruby-on-rails - 请确保您有正确的访问权限并且仓库存在github