我有正在处理 csv 文件的 Sucker_punch 工作人员,我最初遇到了当 dyno 断电时 csv 文件消失的问题,以解决我要设置 s3 用于文件存储的问题。
但我目前担心的是,dyno 断电是否会阻止我的工人继续前进。
我怎样才能防止这种情况?
我有正在处理 csv 文件的 Sucker_punch 工作人员,我最初遇到了当 dyno 断电时 csv 文件消失的问题,以解决我要设置 s3 用于文件存储的问题。
但我目前担心的是,dyno 断电是否会阻止我的工人继续前进。
我怎样才能防止这种情况?
由于sucker_punch 在同一个测功机上使用单独的线程并且不使用外部队列或持久性(delayed_job、sidekiq 和 resque 的方式),当您的测功机重新启动或停止时,您将失去工作并且您将拥有没有办法重新开始工作。在 Heroku 上,dynos 每天至少重启一次。如果您需要持久性以及在测功机出现故障时重试作业的能力,我会说切换到其他作业库之一:
但是,这些需要使用 Heroku 插件。您可以通过免费版本获得一种方法,但您仍然需要为额外的工作进程付费。除此之外,您必须实现自己的持久性并通过包装吸盘重试。以下是关于将这些功能添加到 Sucker_punch 的讨论:https ://github.com/brandonhilkert/sucker_punch/issues/21他们基本上说要改用 Sidekiq。