#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);