При развертывании нового выпуска я хотел бы, чтобы мой сервер выполнил некоторые задачи перед его выпуском и прослушивал http-запросы.
Скажем, эти задачи занимают около минуты и устанавливают некоторые переменные: пока задачи не будут выполнены, я бы хотел, чтобы пользователи перенаправлялись на старую версию.
В основном некоторые nodejs работают до того, как сервер готов.
Я попробовал наивный подход:
doSomeTasks().then(() => {
app.listen(PORT);
})
Но как только выходит новая версия, все запросы https во время выполнения задач не работают, вместо того, чтобы перенаправлять на старый выпуск.
Я прочитал https://devcenter.heroku.com/articles/release-phase, но похоже, что я могу запускать только внешний скрипт, который мне не подходит, так как мои задачи устанавливают переменные кэша.
Я знаю, что это возможно с / check_readiness в App Engine, но мне было интересно, что такое Heroku.