在Heroku上运行delayed_job工作者?

Dan*_* M. 16 terminal ruby-on-rails heroku delayed-job

所以现在我有一个delayed_job的实现,它完全适用于我的本地开发环境.为了在我的机器上启动工作人员,我只是运行rake jobs:work并且它完美地工作.

为了让delayed_job在heroku上工作,我一直在使用相同的命令:heroku run rake jobs:work.这个解决方案可以工作,我不需要为Heroku支付任何工作成本,但我必须保持命令提示窗口打开,否则我关闭它时delayed_job工作程序停止.是否有命令永久保持这个delayed_job工作程序即使在我关闭命令窗口时也能正常工作?或者还有另一种更好的方法吗?

小智 13

我推荐无用的宝石在heroku上运行延迟的工作.我现在使用它 - 它对我来说非常有效,零麻烦且零成本.

我还使用了hirefireapp,它可以对扩展工作者进行更精细的控制.这需要花费,但成本低于单个heroku工作者(超过一个月).我现在不使用它,但已经使用过它,它运行得很好.


Hau*_*eth 9

worker: rake jobs:work
Run Code Online (Sandbox Code Playgroud)

到你的Procfile.

编辑:

即使你从你的控制台运行它你'买'工人dyno但是Heroku每秒钟都会被打包.所以你不付钱,因为你有750小时的免费,而最坏的情况下有一个月有744小时,所以你有额外的dynos,调度任务等6小时免费.

  • 即使你从你的游戏机上运行它你也会"购买"工人dyno,但是Heroku每秒都会被打包,所以你不付钱,因为你有750小时免费,而最坏情况下的月份是744小时,所以你可以免费获得6小时的额外动态,调度任务等. (5认同)
  • 文档在这里:https://devcenter.heroku.com/articles/delayed-job (2认同)