在我的本地机器上,我正在尝试使用 Foreman 启动我的 rails 应用程序和延迟工作人员。我的 Procfile 看起来像这样:
web: bundle exec rails server -p $PORT
worker: bundle exec rake jobs:work
当我启动工头时,只有前两个 Web 请求被执行。随着第三个请求服务器挂起。第一个请求在控制台中输出,第二个不是。
如果我在我的 Procfile 中省略了工作人员,则服务器运行良好并将所有内容输出到控制台。此外,当我在没有工头的情况下启动 rails 服务器和 worker 时,一切正常。
所以看起来Foreman有问题。我猜这是 Foreman 在第一次请求后没有向控制台输出任何内容的问题,因此缓冲区没有被刷新。我搜索了其他帖子,结果将 STDOUT.sync = true 添加到我的 development.rb 但没有任何成功。
有人有线索吗?谢谢!