我在Heroku上托管了Rails 5.2.3(MRI 2.5.5)应用程序。我在sure块中添加了一些清理代码,以便在应用收到每日重启的SIGTERM时运行。清除代码涉及对ActiveRecord对象的简单更新。确保块按预期运行,但是数据库事务本身总是回滚。
里面的事务确保在正常操作期间可以正常工作,但是在收到SIGTERM之后我无法完成它。我要按照Heroku's docs中显示的内容进行操作。
begin
## Do some work...
ensure
## Runs (not exclusively) after SIGTERM...
## ...except for ActiveRecord update/create etc!
我找不到任何错误消息。