【发布时间】:2013-08-29 00:09:15
【问题描述】:
这是我的 Procfile 的样子:
web: bundle exec rails server thin -p $PORT -e $RACK_ENV
worker: bundle exec rake jobs:work
我打算添加一个工作进程,因为我希望运行一些后台作业。我正在遵循these 的指示
这是我注意到的:
- 如果单独启动 Worker 不会遇到任何问题。
- 当我保留 Procfile 中的第二行并且不更改任何其他内容时,rails 服务器会处理几个请求并在此之后挂起
- 正如提到的here ,我已将
STDOUT.sync = true添加到config/environments/development.rb 并在rails 控制台中进行了验证。没用。 - tailed log/development.log 并将其与 foreman 输出到 shell 的内容进行比较,发现两者都匹配了几个请求,然后 foreman 停止将内容打印到 shell - 然后下一个请求将挂起李>
- 我使用 here 提到的 foreman.pkg 更新了工头,并使用 [6] 进行了相同验证
- 有人提到here 这可能是由于一个杂散的调试语句引起的。我没有使用调试器,并且我的 Gemfile.lock 中没有 pry gem 或 ruby-debug gem
- 我相信症状与此相关的未答复question 相似
请帮忙!
[6]:
which foreman
/usr/bin/foreman
ls -lah /usr/bin/foreman # checked the updated date
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 delayed-job foreman