在Heroku上运行时如何重新启动Sidekiq?

时间:2018-11-13 00:58:58

标签: heroku sidekiq dyno

我正在Heroku上的一个工人中运行sidekiq,如下所示:

bundle exec sidekiq -t 25 -e $RAILS_ENV -c 3

其中一项操作占用的内存(> 500mb)超出了工作程序允许的数量。作业完成后,内存仍未释放,我在heroku rails日志文件中得到了以下错误:

2018-11-13T00:56:05.642142+00:00 heroku[sidekiq_worker.1]: Process running mem=646M(126.4%) 2018-11-13T00:56:05.642650+00:00 heroku[sidekiq_worker.1]: Error R14 (Memory quota exceeded)

是否有一种方法可以在内存使用量超过一定数量时自动重新启动Sidekiq?

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试过reduce memory fragmentations?在how you can do it in Heroku

如果那还不够好,您可以使用Heroku platform gemperiodically restart the sidekiq