初始化安装所有依赖

This commit is contained in:
whyour 2021-10-23 18:44:25 +08:00
parent c74a1bc20c
commit 596f93623e

View File

@ -1,18 +1,23 @@
import DependenceService from 'back/services/dependence';
import { exec } from 'child_process';
import { Container } from 'typedi';
import { Crontab, CrontabStatus } from '../data/cron';
import CronService from '../services/cron';
import EnvService from '../services/env';
import _ from 'lodash';
export default async () => {
const cronService = Container.get(CronService);
const envService = Container.get(EnvService);
const dependenceService = Container.get(DependenceService);
const cronDb = cronService.getDb();
const envDb = cronService.getDb();
const envDb = envService.getDb();
const dependenceDb = dependenceService.getDb();
// compaction data file
cronDb.persistence.compactDatafile();
envDb.persistence.compactDatafile();
dependenceDb.persistence.compactDatafile();
// 初始化更新所有任务状态为空闲
cronDb.update(
@ -21,6 +26,17 @@ export default async () => {
{ multi: true },
);
// 初始化时安装所有依赖
dependenceDb.find({}).exec((err, docs) => {
const groups = _.groupBy(docs, 'type');
for (const key in groups) {
if (Object.prototype.hasOwnProperty.call(groups, key)) {
const group = groups[key];
dependenceService.installOrUninstallDependencies(group);
}
}
});
// 初始化时执行一次所有的ql repo 任务
cronDb
.find({