Журналы не появляются до завершения процесса - PullRequest
0 голосов
/ 24 октября 2019

У нас есть приложение Rails 5, работающее на Heroku. Когда мы пытаемся запустить процесс, используя heroku run:detached, журнал не появляется, пока процесс не завершится. Пример:

$ heroku run:detached 'rails runner "Rails.logger.info 1;(1..500000000).each{};"'
Running rails runner "Rails.logger.info 1;(1..500000000).each{};" on ⬢ <REDACTED>... done, run.7268 (Standard-1X)
Run heroku logs --app <REDACTED> --dyno run.7268 to view the output.
$ heroku logs --dyno run.7268 -t
2019-10-24T13:49:29.846280+00:00 heroku[run.7268]: Starting process with command `rails runner "Rails.logger.info 1;(1..500000000).each{};"`
2019-10-24T13:49:30.582293+00:00 heroku[run.7268]: State changed from starting to up
2019-10-24T13:50:01.002636+00:00 heroku[run.7268]: State changed from up to complete
2019-10-24T13:50:00.982354+00:00 heroku[run.7268]: Process exited with status 0
2019-10-24T13:50:00.930084+00:00 app[run.7268]: I, [2019-10-24T13:49:35.871352 #4]  INFO -- : 1

Журнал не отображается до завершения процесса. Вы можете видеть, что временная метка Rails последней строки равна 13:49:35, а временная метка журнала - 13:50:00. Мы видим такое же поведение в нашем приложении на Rails 6, но не в приложении на Rails 4.

...