Я пытаюсь разместить своего бота в Твиттере на Heroku, который пишет твиты каждый час. Но когда я пытаюсь развернуть, это дает мне эту ошибку:
`Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch`
Я немного погуглил и выяснил, что это обычно происходит, когда вы пытаетесь указать явный порт вместо использования process.env.$PORT
, но я не указываю никаких портов в своем коде, что в основном просто так:
var CronJob = require('cron').CronJob;
new CronJob('0 0 * * * *', function() {
//tweet once, once an hour
runTheBot();
}, null, true, 'America/New_York');
где runTheBot()
делает несколько запросов к API, используя Twit.
Интересно, что если я задаю задание cron запускать чаще, чем 60 секунд, скажем, раз в 10 секунд ('*/10 * * * * *'), оно работает нормально. Это даже работает, если я запускаю его раз в минуту («0 * * * * *»).
Вот мой профайл:
web: node index.js -p $PORT
Разве Heroku не совместим с этой библиотекой cron? Должен ли я вместо этого использовать планировщик Heroku?