diff --git a/back/loaders/initData.ts b/back/loaders/initData.ts index 0ff57d0b..cad935a9 100644 --- a/back/loaders/initData.ts +++ b/back/loaders/initData.ts @@ -5,7 +5,7 @@ import CronService from '../services/cron'; const initData = [ { name: '更新面板', - command: `sleep ${randomSchedule(60, 1)} && ql update`, + command: `ql update`, schedule: `${randomSchedule(60, 1)} ${randomSchedule( 24, 7, @@ -31,22 +31,32 @@ export default async () => { const cronDb = cronService.getDb(); cronDb.count({}, async (err, count) => { - const data = initData.map((x) => { - const tab = new Crontab(x); - tab.created = new Date().valueOf(); - tab.saved = false; - if (tab.name === '更新面板') { - tab.isSystem = 1; - } else { - tab.isSystem = 0; - } - return tab; - }); if (count === 0) { + const data = initData.map((x) => { + const tab = new Crontab(x); + tab.created = new Date().valueOf(); + tab.saved = false; + if (tab.name === '更新面板') { + tab.isSystem = 1; + } else { + tab.isSystem = 0; + } + return tab; + }); cronDb.insert(data); await cronService.autosave_crontab(); } }); + + cronDb.find({ name: '更新面板' }).exec((err, docs) => { + const doc = docs[0]; + if (doc && doc.status === CrontabStatus.running) { + cronDb.update( + { name: '更新面板' }, + { $set: { status: CrontabStatus.idle } }, + ); + } + }); }; function randomSchedule(from: number, to: number) { diff --git a/shell/update.sh b/shell/update.sh index 3e576aef..d3aced82 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -255,10 +255,11 @@ update_qinglong() { fi if [[ $exit_status -eq 0 ]]; then - echo -e "重启青龙面板...\n" + echo -e "重启青龙面板(后台重启)...\n" cd $dir_root nginx -s reload 2>/dev/null || nginx -c /etc/nginx/nginx.conf - echo -e "重启面板完成...\n" + echo -e "重启面板完成(请5s后刷新页面)..." + pm2 reload all fi }