У меня есть скрипт автообновления, который запускается на сервере каждую ночь, который просто удаляет любые изменения, извлекает новые обновления и затем перезапускает сервер узла. До недавнего времени это работало нормально, когда запускался через задания cron PM2 или через pm2 restart/start
, он просто зависал, когда доходил до команды git pull
. Но если я запускаю .bat вручную, он отлично работает.
.bat:
call pm2 stop server
call git clean -df
call git checkout -- .
call git pull
call npm install
call pm2 start server
и эко-система PM2:
module.exports = {
apps : [{
name: 'server',
script: 'src/app.js',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
},
{
name: 'jackman_db_autoupdate',
script: 'autoupdate.js',
instances: 1,
autorestart: false,
watch: false,
max_memory_restart: '1G',
cron_restart: "1 0 * * *"
}]
};