Heroku должен перезапускать работника каждый раз, когда он падает. Насколько я знаю, вам не нужно ничего выбирать или настраивать. Что бы ни находилось в вашей работе: рабочая задача будет выполнена, как только она выйдет из строя.
В случае, если вы сильно зависите от фоновых заданий в вашем веб-приложении. Вы можете создать задачу rake, которая найдет последнюю запись для обновления и выполнить фоновое задание для ее обновления. Или, возможно, автоматизировать задачу rake, чтобы найти остальные записи, которые необходимо обновить, начиная с последнего сбоя.
Либо вы принудительно перезапускаете работника вручную, как указано в этой статье (с использованием delayed_job):
heroku workers 0;
heroku workers 1;
Или, возможно, вы можете перезапустить определенного работника, выполнив (упомянутое в этой статье ):
heroku restart worker.1
Кстати, попробуйте стек 1.9 . Перед этим убедитесь, что ваше приложение совместимо с 1.9.2. Надеюсь, там сбои встречаются реже:
heroku stack:migrate bamboo-mri-1.9.2
В том случае, если такие проблемы все еще возникают. Лучше всего связаться со службой поддержки Heroku. Они очень отзывчивы в том, что они делают.