Я создаю серверное приложение, которое запускает серию автоматизированных сценариев (т. Е. «Ботов») в облаке. Я подготовил экземпляр Heroku Scheduler для автоматического запуска одного из этих сценариев, как показано на рисунке ниже.
Рис. 1. Снимок экрана панели инструментов Heroku Scheduler
Как видно из рис. 1. планировщик должен запускать следующую команду
node src/spiders/clusters/auctionMacro.js
каждые десять минут. Кажется, что это происходит, как и ожидалось, как показано ниже на рисунке 2. На нем показан полный вывод журнала.
Пять записей журнала, начиная с 2020-01-12T10: 41: 54.171208 + 00: 00, появляются для подтверждения ожидаемая команда node src/spiders/clusters/auctionMacro.js
выполняется ожидаемым образом, а сценарий выполняется ожидаемым образом.
Однако следующие три записи журнала указывают, что планировщик также пытается выполнить команду npm start
и вызывает выполнение сценария. cra sh.
2020-01-12T11: 00: 13.464651 + 00: 00 heroku [web.1]: запуск процесса с помощью команды npm start
2020-01-12T11: 00: 15.143335 + 00: 00 heroku [web.1]: состояние изменено с начала на сбой 2020-01-12T11: 00: 15.080831 + 00: 00 app [web.1]: npm ERR! отсутствует скрипт: start
Что я могу сделать по этому поводу? Можно ли как-нибудь отключить команду npm start
? Или сделать что-то еще, чтобы исправить проблему и предотвратить сбой сценария?
Полный вывод журнала, генерируемый heroku logs
, выглядит следующим образом.
Рис. 2. Полный вывод
$ heroku logs
2020-01-12T10: 41: 46.690564 + 00: 00 app [api]: запуск процесса с командой node src/spiders/clusters/auctionMacro.js
от пользователя scheduler@addons.heroku.com 2020-01-12T10: 41: 54.171208 + 00: 00 heroku [scheduler.2053]: запуск процесса с помощью команды node src/spiders/clusters/auctionMacro.js
2020-01-12T10: 41: 54.864597 + 00: 00 heroku [scheduler.2053]: состояние изменилось с начала до 2020-01-12T10: 41: 56.797007 + 00: 00 app [scheduler.2053]: [Журнал успешных скриптов] 2020-01-12T10: 41: 56.799138 + 00: 00 app [scheduler.2053]: [Журнал успешных сценариев] 2020-01-12T10: 41: 56.799853 + 00: 00 app [scheduler.2053]: [Журнал успешных сценариев] 2020-01-12T10: 41: 56.893782 + 00: 00 app [scheduler.2053]: [Журнал успешных сценариев] 2020-01-12T10: 41: 59.126489 + 00: 00 heroku [scheduler.2053]: состояние изменено с полного на полное 2020-01-12T10: 41: 59.111484 + 00: 00 heroku [scheduler.2053]: процесс завершен со статусом 0 2020-01-12T10: 49: 21.119405 + 00: 00 app [api]: запуск процесса с командой node src/spiders/clusters/auctionMacro.js
от пользователя myemail@example.com 2020-01-12T10: 49: 29.862904 + 00: 00 heroku [run.9372]: состояние изменилось с начала до 2020-01-12T10: 49: 29.827990 + 00:00 heroku [run.9372]: Ожидание клиента 2020-01-12T10: 49: 29.878338 + 00: 00 heroku [run.9372]: запуск процесса с командой node src/spiders/clusters/auctionMacro.js
2020-01-12T11: 00: 05.438362 + 00: 00 heroku [web.1]: состояние изменено с аварийного на стартовое 2020-01-12T11: 00: 13.464651 + 00: 00 heroku [web.1]: запуск процесса командой npm start
2020-01-12T11: 00: 15.143335 + 00: 00 heroku [web.1]: состояние изменено с начала на сбой 2020-01-12T11: 00: 15.080831 + 00: 00 app [web.1]: npm ОШИБКА! отсутствует скрипт: начало 2020-01-12T11: 00: 15.088306 + 00: 00 app [web.1]: 2020-01-12T11: 00: 15.088587 + 00: 00 приложение [web.1]: npm ОШИБКА! Полный журнал этого прогона можно найти в: 2020-01-12T11: 00: 15.088690 + 00: 00 приложение [web.1]: npm ОШИБКА! /app/.npm/_logs/2020-01-12T11_00_15_081Z-debug.log 2020-01-12T11: 00: 15.130770 + 00: 00 heroku [web.1]: процесс завершен со статусом 1 2020-01-12T11: 08: 51.893315 + 00: 00 heroku [run.9372]: Клиентское соединение закрыто. Отправка SIGHUP всем процессам 2020-01-12T11: 08: 52.437813 + 00: 00 heroku [run.9372]: состояние изменено с полного на полное 2020-01-12T11: 08: 52.421870 + 00: 00 heroku [run.9372]: процесс завершен со статусом 129 me@My-MacBook-Air кукловод% heroku maint 2020-01-12T22: 15: 01.428118 + 00: 00 app [scheduler.9940]: == Запуск: 2020-01-12 22: 04: 21.402 2020-01-12T22: 15: 01.428167 + 00: 00 app [scheduler.9940]: 2020-01-12T22: 15: 02. 410217 + 00: 00 heroku [scheduler.9940]: остановка всех процессов с помощью SIGTERM 2020-01-12T22: 15: 02.481455 + 00: 00 heroku [scheduler.9940]: процесс завершен со статусом 143.929 (работает в течение 10,7 минут)
Редактировать:
Основываясь на этом SO-ответе , я выполнил следующую команду
heroku scale web=0
и получил следующий ответ в терминале
Масштабирование динам ... выполнено, теперь выполняется Сеть в 0: Свободен
Я не уверен, что это значит, или это направление, в котором я должен идти.