Ruby on rails 3 轨道&x2B;工头+;工作者挂起服务器

Ruby on rails 3 轨道&x2B;工头+;工作者挂起服务器,ruby-on-rails-3,delayed-job,foreman,Ruby On Rails 3,Delayed Job,Foreman,在我的本地机器上,我正试图启动rails应用程序,并使用Foreman延迟了工作人员。我的proc文件如下所示: web: bundle exec rails server -p $PORT worker: bundle exec rake jobs:work 当我启动foreman时,只执行前两个web请求。对于第三个请求,服务器挂起。第一个请求是在控制台中输出的,第二个不是 如果我在Procfile中省略了worker,那么服务器运行正常,并将所有内容输出到控制台。此外,当我启动rails

在我的本地机器上,我正试图启动rails应用程序,并使用Foreman延迟了工作人员。我的proc文件如下所示:

web: bundle exec rails server -p $PORT
worker: bundle exec rake jobs:work
当我启动foreman时,只执行前两个web请求。对于第三个请求,服务器挂起。第一个请求是在控制台中输出的,第二个不是

如果我在Procfile中省略了worker,那么服务器运行正常,并将所有内容输出到控制台。此外,当我启动rails服务器和工人时,没有工头,一切正常

看来Foreman有问题了。我猜这是Foreman在第一个请求之后没有向控制台输出任何东西的问题,因此缓冲区不会被刷新。我搜索了其他帖子,结果在我的development.rb中添加了STDOUT.sync=true,但没有成功


有人有线索吗?谢谢

大多数情况下,有人在代码中留下了调试器/pry语句,或者您在某个地方放置了断点


如果你找不到任何东西,你可以使用像lsof或gdb这样的系统工具来找出你的ruby进程目前在做什么。这可能有助于找到问题。

大约一个小时前,我刚开始使用Foreman,在Foreman运行时,我的rake任务和rails服务器都出现了一些问题。当我从gem文件中删除
pry
gem时,它工作了,但这是不可接受的,因为我在开发中使用了pry

然后我更新到foreman版本0.49.0(大约10分钟前发布),问题得到了解决。太糟糕了,我没有在一个小时后开始做这个任务,因为那样我就可以从0.49.0开始,而不必在一个小时内胡闹:)

您应该尝试升级Foreman,看看它是否能解决您的问题。

更新: 在此跟踪并解决:

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


我也面临同样的问题


这是我在stackoverflow上询问的问题的链接@斯梅克,如果你找到答案,请回复

我在本地开发环境中尝试实现和测试DJ+Foreman时遇到了类似的问题。我打算部署到Heroku,并将本文用作指南。如果您也部署到Heroku,我建议安装,其中包括Foreman。就我而言,我已经安装了Heroku Toolbelt,所以我只是重新安装了它

很抱歉我的回复迟了,但是更新Foreman并不能解决问题。还没有,更新也不能解决我的问题。我现在有了一个不同的用于开发的Procfile,其中我忽略了worker,我手动启动了它。我用
foreman start-p 3000-f Procfile.dev启动foreman,用
rake jobs:work启动工人。虽然不理想,但对我来说很有效。这对我来说也很有效。但我不确定Heroku是否支持。我正在使用Heroku部署我的应用程序。你调查过了吗?是的,效果很好。您只是有一个不同的procfile用于本地开发。Heroku使用
Procfile
,对于开发,我使用
Procfile.dev
使用foreman gem而不是foreman.pkg,谢谢!