Планировщик Heroku не создает журнал

Недавно я настроил Планировщик и включил мою команду rake, "rake cron_jobs: my_task".

Когда я тестирую его с помощью "heroku run rake cron_jobs: my_task", он отлично работает.

Планировщик также утверждает, что он запускался, когда он был предназначен, и его планируется запустить снова, но там нет регистрации, связанной с процессом, как https://devcenter.heroku.com/articles/scheduler#inspecting-output говорит там должен быть.

'heroku ps' не показывает никаких запланированных динамиков, 'heroku logs --ps scheduler.1' не имеет выхода.

Что мне не хватает?

Ответ 1

У меня была аналогичная проблема (с использованием новой службы Heroku PGBackups) и нашел для нее неожиданное объяснение.

Задача rake rake pgbackups-archive не была запущена планировщиком Heroku, но она работала, когда я запускал ее вручную из командной строки.

В моем случае я заметил, что мои проблемы были вызваны разным часовым поясом, используемым интерфейсом Heroku (который, кажется, не является CET). Поэтому моя рейк-задача, которая должна выполняться в определенное время ежедневно, никогда не срабатывала, поскольку я менял конкретное время в течение дня на тестирование, и я всегда пропустил указанное время в часовом поясе Heroku.

Вы можете попробовать запустить задачу каждые десять минут и посмотреть, работает ли она.

Ответ 2

Вот что я делаю для этого:

Просто в свои задачи включайте операторы put, чтобы знать, когда он начал работать, а когда закончил.

Кроме того, вы можете включить оператор put в выполненную работу.

Я использую бумажную пробную версию, которая является очень мощным инструментом ведения журналов, в котором вы можете искать и находить любой конкретный журнал в определенное время. Кроме того, вы можете добавить предупреждение, когда ваше задание по расписанию начало выполняться.