Я изучал различные способы, позволяющие активировать веб-диностенцию Heroku, как описано в разделе Простой способ предотвратить работу Heroku на холостом ходу? , и заметил, что ни один из них не работал в моем сценарии.
Настройка:
- Фронтенд (размещен в
https://www.mywebsite.com
) - Бэкэнд: приложение GraphQL Yoga (размещено в
https://api.mywebsite.com
) - Контейнер Heroku для размещает базу данных Prisma v1, с которой взаимодействует серверная часть. Этот контейнер был автоматически создан Prisma и использует один веб-динамик.
Серверная часть размещается на платном плане Heroku, а база данных - нет. В результате, если на веб-сайте нет трафика c в течение 30 минут, контейнер переходит в спящий режим, и последующему запросу на веб-интерфейсе требуется время для загрузки содержимого, поступающего из базы данных.
Pinging mywebsite.com
с дополнением Heroku New Reli c не пробуждает дино, как и Uptimer Bot, Node.js https-запрос , запрос на выборку узла , или работает curl https://www.mywebsite.com
или https://api.mywebsite.com
.
Однако одна вещь, которая разбудит дино, - это переход к mywebsite.com
или api.mywebsite.com
с помощью сценария Puppeteer (в режиме без головы).
Как это? Что запускает навигация Puppeteer, чего нет при запросе https
или curl
?