Cron Job перезапускает процесс узла каждые 4 часа - PullRequest
0 голосов
/ 27 мая 2020

, когда я хочу остановить скрипт узла, я обычно использую CTRL+C. Можно ли заставить CronJob автоматически останавливать его для меня?
(я хочу, чтобы cronjob использовал node . и через 4 часа выходил из процесса узла и снова использовал node .).

если возможно, как? (пример видео или сценария мне очень поможет)

Дайте мне знать, если вам нужна дополнительная информация по этому поводу, хотя это в значительной степени говорит само за себя, но я не умею давать объяснения и информацию.

1 Ответ

0 голосов
/ 27 мая 2020

Сначала вам нужно запустить приложение узла с помощью диспетчера процессов, например pm2 , это обеспечит продолжение работы вашего приложения, когда оно вам понадобится.

Затем вы создадите задание cron, которое будет запускаться каждые четыре часа, и выполните сценарий, который остановит и запустит ваше приложение. Если вы используете linux и pm2, вы можете использовать скрипт ниже

#!/bin/bash
#app.sh
echo 'stopping <pm2-app-id>'
pm2 stop <pm2-app-id>
echo 'stopped <pm2-app-id>'
echo 'strting <pm2-app-id>'
pm2 start <pm2-app-id> 
echo 'started <pm2-app-id>'

Затем зарегистрируйте задание cron с помощью crontab -e

0 0,4,8,12,16,20 * * * PATH=$PATH:<full path to pm2>:<full path to node bin> <full-path-to-app.sh>/app.sh

Важно добавить полный путь к pm2 и nodejs исполняемый файл, указанный выше, иначе crontab не сможет их найти.

...