У меня есть приложение Rails 5.2.3 (MRI 2.5.5), размещенное на Heroku. Я добавил некоторый код очистки в блок обеспечения, чтобы он работал, когда приложение получает SIGTERM для ежедневного перезапуска. Код очистки включает простое обновление объекта ActiveRecord. Блок обеспечения работает должным образом, но сама транзакция базы данных всегда откатывается.
Транзакция внутри обеспечивает нормальную работу во время обычных операций, но я не могу завершить ее после получения SIGTERM. Я иду по тому, что показано в документах Героку .
begin
## Do some work...
ensure
## Runs (not exclusively) after SIGTERM...
## ...except for ActiveRecord update/create etc!
Я не смог найти ни одного сообщения об ошибке.