sucker_punch工作者可以在heroku上运行多长时间?

Jos*_*ech 1 csv ruby-on-rails heroku sucker-punch

我有sucker_punch工作者正在处理一个csv文件,我最初有一个问题,当dyno断电时csv文件消失,修复我将设置s3文件存储.

但我目前担心的是,一个dyno断电是否会阻止我的工作人员.

我怎么能防止这种情况?

Die*_*zar 8

由于sucker_punch在同一个dyno上使用一个单独的线程并且不使用外部队列或持久性(delayed_job,sidekiq和resque的方式),当你的dyno重新启动或停止并且你将拥有它时,你将会失去工作无法重启工作.在Heroku上,dynos每天至少重启一次.如果您需要持久性并且能够在dyno发生故障时重试作业,我会说切换到其他作业库之一:

但是,这些需要使用Heroku Addon.您可以使用免费版本,但您仍需要支付额外的工作流程.除此之外,您必须实现自己的持久性并通过包装sucker_punch重试.以下是关于将这些功能添加到sucker_punch的讨论:https://github.com/brandonhilkert/sucker_punch/issues/21他们基本上说要使用Sidekiq.