Ошибка Кронтаба. Сценарий Узла Завершается Ошибкой При Запуске Из Внешнего Каталога

#node.js #cron #dotenv

Вопрос:

Я пытаюсь запускать скрипт NodeJS каждые 5 минут с помощью Crontab, который в настоящее время не работает.

Я заметил, что когда я запускаю свой скрипт из папки, он работает нормально. Но когда я пытаюсь запустить скрипт из-за пределов папки, он терпит неудачу.. похоже, он не улавливает параметры .env?

кронтаб -е
*/5 * * * * узел ~/ls-mongo/updateItems.js

Ответ №1:

Это происходит из-за того, что интерпретатор узла не может найти какие-либо установленные зависимости npm, поскольку он сканирует папку, в которой вы выполняете команду, для них. Вы можете вставить компакт-диск в папку, а затем запустить скрипт:

 cd ~/ls-mongo amp;amp; crontab -e */5 * * * * node updateItems.js
 

Ответ №2:

Я никогда не видел этого раньше, но добавление нижеприведенного в верхнюю часть файла работает.

process.chdir(__dirname);