Я тестирую приложение с рабочим и веб-дино на бесплатном уровне Heroku, и я хотел бы, чтобы рабочий оставался в живых, чтобы иметь возможность выполнять фоновые задачи, позволяя веб-дино бездействовать. По умолчанию они оба простаивают через 30 минут, даже если у меня есть вещи в очереди на работника.
Я понимаю, что есть способы поддерживать работоспособность веб-дино (а вместе с ним и работника), и есть способы поддерживать работу сети при уменьшении масштаба рабочего. Однако мне нужен рабочий, а сеть простаивает.
Я попытался запустить повторяющееся задание на работнике, которое
- Перезапустите дино.
- Масштабируйте динамометр вниз, а затем обратно вверх.
Оба подхода сработали (так как они перезапустили и правильно масштабировали динамометрический стенд), но рабочий динамометрический стенд все еще простаивал через 30 минут (как будто он зависел от веб-динамического стенда). Изменить: да, это в значительной степени так, как описано здесь: https://devcenter.heroku.com/articles/free-dyno-hours#dyno-sleeping
Я мог бы сделать это снаружи, но, похоже, мне придется постоянно проверять состояние, поскольку новый перезапуск, похоже, не дает мне 30-минутного прогресса. Мне также пришлось бы раскрывать ключ API, которого я хотел бы избежать.