Попытка заставить Heroku выполнить несколько Puppeteer заданий. Локально это работает. Это медленно, но работает. Мониторинг памяти в OS X Activity Monitor
, она не превышает 50 МБ. Но когда я развертываю этот сценарий в Heroku, я каждый раз получаю Memory quota exceeded
, и объем памяти значительно увеличивается.
Глядя на логи, я получаю сообщение:
Process running mem=561M(106.5%)
.
Error R14 (Memory quota exceeded)
.
Restarting
.
State changed from up to starting
Либо Activity Monitor не сообщает правильно память, либо что-то идет не так только при запуске сценария на Heroku. Я не могу себе представить, почему страница 25 страниц будет 561M.
Кроме того, поскольку сценарии Puppeteer должны содержаться в try/catch
- ошибка памяти вызывает сбой Dyno и перезапуск. Ко времени перезапуска Dyno браузер зависает. Так что restarting
мало что дает. Есть ли способ отлавливать «большинство» ошибок на Heroku, но выбрасывать при ошибке памяти R14?