【问题标题】:Rails server hangs when started with foremanRails 服务器在使用工头启动时挂起
【发布时间】: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


    【解决方案1】:

    在此处跟踪并解决:

    https://github.com/ddollar/foreman/issues/244

    TL;DR:安装 gem,不要使用 foreman.pkg

    【讨论】:

      【解决方案2】:

      如果你使用 Heroku,我会补充一点,heroku 工具带中包含的工头版本也有同样的问题。

      改用gem install foreman 可以得到的那个。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-24
        • 2021-05-09
        • 2013-12-24
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        相关资源
        最近更新 更多