cnpmcore 1.11.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/History.md +21 -0
- package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +3 -3
- package/dist/app/core/service/TaskService.js +4 -2
- package/dist/app/port/schedule/ChangesStreamWorker.d.ts +6 -0
- package/dist/app/port/schedule/ChangesStreamWorker.js +41 -0
- package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.d.ts +7 -0
- package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +83 -0
- package/dist/app/port/schedule/CleanTempDir.d.ts +5 -0
- package/dist/app/port/schedule/CleanTempDir.js +63 -0
- package/dist/app/port/schedule/CreateSyncBinaryTask.d.ts +5 -0
- package/dist/app/port/schedule/CreateSyncBinaryTask.js +45 -0
- package/dist/app/port/schedule/CreateTriggerHookWorker.d.ts +7 -0
- package/dist/app/port/schedule/CreateTriggerHookWorker.js +66 -0
- package/dist/app/port/schedule/SavePackageVersionDownloadCounter.d.ts +4 -0
- package/dist/app/port/schedule/SavePackageVersionDownloadCounter.js +29 -0
- package/dist/app/port/schedule/SyncBinaryWorker.d.ts +6 -0
- package/dist/app/port/schedule/SyncBinaryWorker.js +44 -0
- package/dist/app/port/schedule/SyncPackageWorker.d.ts +6 -0
- package/dist/app/port/schedule/SyncPackageWorker.js +62 -0
- package/dist/app/port/schedule/TaskTimeoutHandler.d.ts +6 -0
- package/dist/app/port/schedule/TaskTimeoutHandler.js +40 -0
- package/dist/app/port/schedule/TriggerHookWorker.d.ts +7 -0
- package/dist/app/port/schedule/TriggerHookWorker.js +64 -0
- package/dist/app/port/schedule/UpdateTotalData.d.ts +9 -0
- package/dist/app/port/schedule/UpdateTotalData.js +122 -0
- package/dist/config/plugin.js +5 -1
- package/package.json +3 -7
- package/dist/app/schedule/ChangesStreamWorker.d.ts +0 -8
- package/dist/app/schedule/ChangesStreamWorker.js +0 -27
- package/dist/app/schedule/CheckRecentlyUpdatedPackages.d.ts +0 -8
- package/dist/app/schedule/CheckRecentlyUpdatedPackages.js +0 -66
- package/dist/app/schedule/CleanTempDir.d.ts +0 -8
- package/dist/app/schedule/CleanTempDir.js +0 -48
- package/dist/app/schedule/CreateSyncBinaryTask.d.ts +0 -8
- package/dist/app/schedule/CreateSyncBinaryTask.js +0 -34
- package/dist/app/schedule/CreateTriggerHookWorker.d.ts +0 -8
- package/dist/app/schedule/CreateTriggerHookWorker.js +0 -51
- package/dist/app/schedule/SavePackageVersionDownloadCounter.d.ts +0 -8
- package/dist/app/schedule/SavePackageVersionDownloadCounter.js +0 -21
- package/dist/app/schedule/SyncBinaryWorker.d.ts +0 -8
- package/dist/app/schedule/SyncBinaryWorker.js +0 -30
- package/dist/app/schedule/SyncPackageWorker.d.ts +0 -8
- package/dist/app/schedule/SyncPackageWorker.js +0 -48
- package/dist/app/schedule/TaskTimeoutHandler.d.ts +0 -9
- package/dist/app/schedule/TaskTimeoutHandler.js +0 -27
- package/dist/app/schedule/TriggerHookWorker.d.ts +0 -8
- package/dist/app/schedule/TriggerHookWorker.js +0 -49
- package/dist/app/schedule/UpdateTotalData.d.ts +0 -9
- package/dist/app/schedule/UpdateTotalData.js +0 -103
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TaskTimeoutHandler = void 0;
|
|
10
|
+
const schedule_1 = require("@eggjs/tegg/schedule");
|
|
11
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
12
|
+
let TaskTimeoutHandler = class TaskTimeoutHandler {
|
|
13
|
+
async subscribe() {
|
|
14
|
+
await this.cacheAdapter.usingLock('TaskTimeoutHandler', 60, async () => {
|
|
15
|
+
const result = await this.taskService.retryExecuteTimeoutTasks();
|
|
16
|
+
this.logger.info('[TaskTimeoutHandler:subscribe] retry execute timeout tasks: %j', result);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, tegg_1.Inject)()
|
|
22
|
+
], TaskTimeoutHandler.prototype, "taskService", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, tegg_1.Inject)()
|
|
25
|
+
], TaskTimeoutHandler.prototype, "cacheAdapter", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, tegg_1.Inject)()
|
|
28
|
+
], TaskTimeoutHandler.prototype, "logger", void 0);
|
|
29
|
+
TaskTimeoutHandler = __decorate([
|
|
30
|
+
(0, schedule_1.Schedule)({
|
|
31
|
+
type: schedule_1.ScheduleType.WORKER,
|
|
32
|
+
scheduleData: {
|
|
33
|
+
interval: 60000,
|
|
34
|
+
},
|
|
35
|
+
}, {
|
|
36
|
+
immediate: process.env.NODE_ENV !== 'test',
|
|
37
|
+
})
|
|
38
|
+
], TaskTimeoutHandler);
|
|
39
|
+
exports.TaskTimeoutHandler = TaskTimeoutHandler;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1RpbWVvdXRIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvc2NoZWR1bGUvVGFza1RpbWVvdXRIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLG1EQUE4RTtBQUM5RSxzQ0FBcUM7QUFZckMsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFVN0IsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnRUFBZ0UsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBZEM7SUFEQyxJQUFBLGFBQU0sR0FBRTt1REFDaUM7QUFHMUM7SUFEQyxJQUFBLGFBQU0sR0FBRTt3REFDbUM7QUFHNUM7SUFEQyxJQUFBLGFBQU0sR0FBRTtrREFDMEI7QUFSeEIsa0JBQWtCO0lBUjlCLElBQUEsbUJBQVEsRUFBaUI7UUFDeEIsSUFBSSxFQUFFLHVCQUFZLENBQUMsTUFBTTtRQUN6QixZQUFZLEVBQUU7WUFDWixRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGLEVBQUU7UUFDRCxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTTtLQUMzQyxDQUFDO0dBQ1csa0JBQWtCLENBZ0I5QjtBQWhCWSxnREFBa0IifQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TriggerHookWorker = void 0;
|
|
10
|
+
const schedule_1 = require("@eggjs/tegg/schedule");
|
|
11
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
12
|
+
const Task_1 = require("../../common/enum/Task");
|
|
13
|
+
let executingCount = 0;
|
|
14
|
+
let TriggerHookWorker = class TriggerHookWorker {
|
|
15
|
+
async subscribe() {
|
|
16
|
+
if (executingCount >= this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks)
|
|
17
|
+
return;
|
|
18
|
+
executingCount++;
|
|
19
|
+
try {
|
|
20
|
+
let task = await this.taskService.findExecuteTask(Task_1.TaskType.TriggerHook);
|
|
21
|
+
while (task) {
|
|
22
|
+
const startTime = Date.now();
|
|
23
|
+
this.logger.info('[TriggerHookWorker:subscribe:executeTask:start][%s] taskId: %s, targetName: %s, attempts: %s, params: %j, updatedAt: %s, delay %sms', executingCount, task.taskId, task.targetName, task.attempts, task.data, task.updatedAt, startTime - task.updatedAt.getTime());
|
|
24
|
+
await this.hookTriggerService.executeTask(task);
|
|
25
|
+
const use = Date.now() - startTime;
|
|
26
|
+
this.logger.info('[TriggerHookWorker:subscribe:executeTask:success][%s] taskId: %s, targetName: %s, use %sms', executingCount, task.taskId, task.targetName, use);
|
|
27
|
+
if (executingCount >= this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks) {
|
|
28
|
+
this.logger.info('[TriggerHookWorker:subscribe:executeTask] current sync task count %s, exceed max concurrent tasks %s', executingCount, this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks);
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
// try next task
|
|
32
|
+
task = await this.taskService.findExecuteTask(Task_1.TaskType.TriggerHook);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.logger.error('[TriggerHookWorker:subscribe:executeTask:error][%s] %s', executingCount, err);
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
executingCount--;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, tegg_1.Inject)()
|
|
45
|
+
], TriggerHookWorker.prototype, "config", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, tegg_1.Inject)()
|
|
48
|
+
], TriggerHookWorker.prototype, "logger", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, tegg_1.Inject)()
|
|
51
|
+
], TriggerHookWorker.prototype, "hookTriggerService", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, tegg_1.Inject)()
|
|
54
|
+
], TriggerHookWorker.prototype, "taskService", void 0);
|
|
55
|
+
TriggerHookWorker = __decorate([
|
|
56
|
+
(0, schedule_1.Schedule)({
|
|
57
|
+
type: schedule_1.ScheduleType.ALL,
|
|
58
|
+
scheduleData: {
|
|
59
|
+
interval: 1000,
|
|
60
|
+
},
|
|
61
|
+
})
|
|
62
|
+
], TriggerHookWorker);
|
|
63
|
+
exports.TriggerHookWorker = TriggerHookWorker;
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJpZ2dlckhvb2tXb3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9zY2hlZHVsZS9UcmlnZ2VySG9va1dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxtREFBOEU7QUFDOUUsc0NBQXFDO0FBR3JDLGlEQUFrRDtBQUdsRCxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFPdkIsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFhNUIsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQ0FBbUM7WUFBRSxPQUFPO1FBRXZGLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLElBQUk7WUFDRixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxXQUFXLENBQW9CLENBQUM7WUFDM0YsT0FBTyxJQUFJLEVBQUU7Z0JBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxSUFBcUksRUFDcEosY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFDdEYsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0RkFBNEYsRUFDM0csY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsbUNBQW1DLEVBQUU7b0JBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNHQUFzRyxFQUNySCxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsbUNBQW1DLENBQUMsQ0FBQztvQkFDNUUsTUFBTTtpQkFDUDtnQkFDRCxnQkFBZ0I7Z0JBQ2hCLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxXQUFXLENBQW9CLENBQUM7YUFDeEY7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xHO2dCQUFTO1lBQ1IsY0FBYyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXhDQztJQURDLElBQUEsYUFBTSxHQUFFO2lEQUM2QjtBQUd0QztJQURDLElBQUEsYUFBTSxHQUFFO2lEQUMwQjtBQUduQztJQURDLElBQUEsYUFBTSxHQUFFOzZEQUMrQztBQUd4RDtJQURDLElBQUEsYUFBTSxHQUFFO3NEQUNpQztBQVgvQixpQkFBaUI7SUFON0IsSUFBQSxtQkFBUSxFQUFpQjtRQUN4QixJQUFJLEVBQUUsdUJBQVksQ0FBQyxHQUFHO1FBQ3RCLFlBQVksRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixDQUFDO0dBQ1csaUJBQWlCLENBMEM3QjtBQTFDWSw4Q0FBaUIifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class UpdateTotalData {
|
|
2
|
+
private readonly logger;
|
|
3
|
+
private readonly packageRepository;
|
|
4
|
+
private readonly taskRepository;
|
|
5
|
+
private readonly changeRepository;
|
|
6
|
+
private readonly packageVersionDownloadRepository;
|
|
7
|
+
private readonly cacheService;
|
|
8
|
+
subscribe(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateTotalData = void 0;
|
|
13
|
+
const schedule_1 = require("@eggjs/tegg/schedule");
|
|
14
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
15
|
+
const Task_1 = require("../../common/enum/Task");
|
|
16
|
+
const dayjs_1 = __importDefault(require("../../common/dayjs"));
|
|
17
|
+
let UpdateTotalData = class UpdateTotalData {
|
|
18
|
+
async subscribe() {
|
|
19
|
+
const changesStreamTask = await this.taskRepository.findTaskByTargetName('GLOBAL_WORKER', Task_1.TaskType.ChangesStream);
|
|
20
|
+
const packageTotal = await this.packageRepository.queryTotal();
|
|
21
|
+
const download = {
|
|
22
|
+
today: 0,
|
|
23
|
+
yesterday: 0,
|
|
24
|
+
samedayLastweek: 0,
|
|
25
|
+
thisweek: 0,
|
|
26
|
+
thismonth: 0,
|
|
27
|
+
thisyear: 0,
|
|
28
|
+
lastweek: 0,
|
|
29
|
+
lastmonth: 0,
|
|
30
|
+
lastyear: 0,
|
|
31
|
+
};
|
|
32
|
+
const today = (0, dayjs_1.default)();
|
|
33
|
+
const lastYearStartDay = today.subtract(1, 'year').startOf('year');
|
|
34
|
+
const rows = await this.packageVersionDownloadRepository.query('total', lastYearStartDay.toDate(), today.toDate());
|
|
35
|
+
if (rows.length > 0) {
|
|
36
|
+
const todayInt = Number(today.format('YYYYMMDD'));
|
|
37
|
+
const yesterdayInt = Number(today.subtract(1, 'day').format('YYYYMMDD'));
|
|
38
|
+
const samedayLastweekInt = Number(today.subtract(1, 'week').startOf('week').format('YYYYMMDD'));
|
|
39
|
+
const thisWeekStartDayInt = Number(today.startOf('week').format('YYYYMMDD'));
|
|
40
|
+
const thisWeekEndDayInt = Number(today.endOf('week').format('YYYYMMDD'));
|
|
41
|
+
const thisMonthStartDayInt = Number(today.startOf('month').format('YYYYMMDD'));
|
|
42
|
+
const thisMonthEndDayInt = Number(today.endOf('month').format('YYYYMMDD'));
|
|
43
|
+
const thisYearStartDayInt = Number(today.startOf('year').format('YYYYMMDD'));
|
|
44
|
+
const thisYearEndDayInt = Number(today.endOf('year').format('YYYYMMDD'));
|
|
45
|
+
const lastWeekStartDayInt = Number(today.subtract(1, 'week').startOf('week').format('YYYYMMDD'));
|
|
46
|
+
const lastWeekEndDayInt = Number(today.subtract(1, 'week').endOf('week').format('YYYYMMDD'));
|
|
47
|
+
const lastMonthStartDayInt = Number(today.subtract(1, 'month').startOf('month').format('YYYYMMDD'));
|
|
48
|
+
const lastMonthEndDayInt = Number(today.subtract(1, 'month').endOf('month').format('YYYYMMDD'));
|
|
49
|
+
const lastYearStartDayInt = Number(today.subtract(1, 'year').startOf('year').format('YYYYMMDD'));
|
|
50
|
+
const lastYearEndDayInt = Number(today.subtract(1, 'year').endOf('year').format('YYYYMMDD'));
|
|
51
|
+
for (const row of rows) {
|
|
52
|
+
for (let i = 1; i <= 31; i++) {
|
|
53
|
+
const day = String(i).padStart(2, '0');
|
|
54
|
+
const field = `d${day}`;
|
|
55
|
+
const counter = row[field];
|
|
56
|
+
if (!counter)
|
|
57
|
+
continue;
|
|
58
|
+
const dayInt = row.yearMonth * 100 + i;
|
|
59
|
+
if (dayInt === todayInt)
|
|
60
|
+
download.today += counter;
|
|
61
|
+
if (dayInt === yesterdayInt)
|
|
62
|
+
download.yesterday += counter;
|
|
63
|
+
if (dayInt === samedayLastweekInt)
|
|
64
|
+
download.samedayLastweek += counter;
|
|
65
|
+
if (dayInt >= thisWeekStartDayInt && dayInt <= thisWeekEndDayInt)
|
|
66
|
+
download.thisweek += counter;
|
|
67
|
+
if (dayInt >= thisMonthStartDayInt && dayInt <= thisMonthEndDayInt)
|
|
68
|
+
download.thismonth += counter;
|
|
69
|
+
if (dayInt >= thisYearStartDayInt && dayInt <= thisYearEndDayInt)
|
|
70
|
+
download.thisyear += counter;
|
|
71
|
+
if (dayInt >= lastWeekStartDayInt && dayInt <= lastWeekEndDayInt)
|
|
72
|
+
download.lastweek += counter;
|
|
73
|
+
if (dayInt >= lastMonthStartDayInt && dayInt <= lastMonthEndDayInt)
|
|
74
|
+
download.lastmonth += counter;
|
|
75
|
+
if (dayInt >= lastYearStartDayInt && dayInt <= lastYearEndDayInt)
|
|
76
|
+
download.lastyear += counter;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const lastChange = await this.changeRepository.getLastChange();
|
|
81
|
+
const totalData = {
|
|
82
|
+
...packageTotal,
|
|
83
|
+
download,
|
|
84
|
+
changesStream: changesStreamTask && changesStreamTask.data || {},
|
|
85
|
+
lastChangeId: lastChange && lastChange.id || 0,
|
|
86
|
+
cacheTime: new Date().toISOString(),
|
|
87
|
+
};
|
|
88
|
+
await this.cacheService.saveTotalData(totalData);
|
|
89
|
+
this.logger.info('[UpdateTotalData.subscribe] total data: %j', totalData);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
__decorate([
|
|
93
|
+
(0, tegg_1.Inject)()
|
|
94
|
+
], UpdateTotalData.prototype, "logger", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, tegg_1.Inject)()
|
|
97
|
+
], UpdateTotalData.prototype, "packageRepository", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, tegg_1.Inject)()
|
|
100
|
+
], UpdateTotalData.prototype, "taskRepository", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, tegg_1.Inject)()
|
|
103
|
+
], UpdateTotalData.prototype, "changeRepository", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, tegg_1.Inject)()
|
|
106
|
+
], UpdateTotalData.prototype, "packageVersionDownloadRepository", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
(0, tegg_1.Inject)()
|
|
109
|
+
], UpdateTotalData.prototype, "cacheService", void 0);
|
|
110
|
+
UpdateTotalData = __decorate([
|
|
111
|
+
(0, schedule_1.Schedule)({
|
|
112
|
+
type: schedule_1.ScheduleType.WORKER,
|
|
113
|
+
scheduleData: {
|
|
114
|
+
interval: 60000,
|
|
115
|
+
},
|
|
116
|
+
}, {
|
|
117
|
+
// immediate = false on unittest env
|
|
118
|
+
immediate: process.env.NODE_ENV !== 'test',
|
|
119
|
+
})
|
|
120
|
+
], UpdateTotalData);
|
|
121
|
+
exports.UpdateTotalData = UpdateTotalData;
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlVG90YWxEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvc2NoZWR1bGUvVXBkYXRlVG90YWxEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLG1EQUE4RTtBQUM5RSxzQ0FBcUM7QUFNckMsaURBQWtEO0FBQ2xELCtEQUF1QztBQVl2QyxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBbUIxQixLQUFLLENBQUMsU0FBUztRQUNiLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxlQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEgsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFL0QsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsRUFBRSxDQUFDO1lBQ1osZUFBZSxFQUFFLENBQUM7WUFDbEIsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxHQUFFLENBQUM7UUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuSCxJQUFJLElB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
|
package/dist/config/plugin.js
CHANGED
|
@@ -13,6 +13,10 @@ const plugin = {
|
|
|
13
13
|
enable: true,
|
|
14
14
|
package: '@eggjs/tegg-controller-plugin',
|
|
15
15
|
},
|
|
16
|
+
teggSchedule: {
|
|
17
|
+
enable: true,
|
|
18
|
+
package: '@eggjs/tegg-schedule-plugin',
|
|
19
|
+
},
|
|
16
20
|
teggOrm: {
|
|
17
21
|
enable: true,
|
|
18
22
|
package: '@eggjs/tegg-orm-plugin',
|
|
@@ -46,4 +50,4 @@ const plugin = {
|
|
|
46
50
|
},
|
|
47
51
|
};
|
|
48
52
|
exports.default = plugin;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29uZmlnL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQU0sTUFBTSxHQUFjO0lBQ3hCLElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUNELGNBQWMsRUFBRTtRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLHdCQUF3QjtLQUNsQztJQUNELGNBQWMsRUFBRTtRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLHdCQUF3QjtLQUNsQztJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsc0JBQXNCO0tBQ2hDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsV0FBVztLQUNyQjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLFVBQVU7S0FDcEI7Q0FDRixDQUFDO0FBRUYsa0JBQWUsTUFBTSxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnpmcore",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "npm core",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*"
|
|
@@ -32,11 +32,6 @@
|
|
|
32
32
|
"./repository/*": {
|
|
33
33
|
"type": "./dist/app/repository",
|
|
34
34
|
"node": "./dist/app/repository/*.js"
|
|
35
|
-
},
|
|
36
|
-
"./schedule/package.json": "./dist/app/schedule/package.json",
|
|
37
|
-
"./schedule/*": {
|
|
38
|
-
"type": "./dist/app/schedule",
|
|
39
|
-
"node": "./dist/app/schedule/*.js"
|
|
40
35
|
}
|
|
41
36
|
},
|
|
42
37
|
"scripts": {
|
|
@@ -70,13 +65,14 @@
|
|
|
70
65
|
"npm"
|
|
71
66
|
],
|
|
72
67
|
"dependencies": {
|
|
73
|
-
"@eggjs/tegg": "^1.
|
|
68
|
+
"@eggjs/tegg": "^1.4.0",
|
|
74
69
|
"@eggjs/tegg-aop-plugin": "^1.3.2",
|
|
75
70
|
"@eggjs/tegg-config": "^1.0.0",
|
|
76
71
|
"@eggjs/tegg-controller-plugin": "^1.3.2",
|
|
77
72
|
"@eggjs/tegg-eventbus-plugin": "^1.3.2",
|
|
78
73
|
"@eggjs/tegg-orm-decorator": "^1.4.0",
|
|
79
74
|
"@eggjs/tegg-orm-plugin": "^2.1.0",
|
|
75
|
+
"@eggjs/tegg-schedule-plugin": "^2.2.0",
|
|
80
76
|
"@eggjs/tegg-plugin": "^1.3.2",
|
|
81
77
|
"@eggjs/tsconfig": "^1.0.0",
|
|
82
78
|
"@node-rs/crc32": "^1.2.2",
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const egg_1 = require("egg");
|
|
4
|
-
const cnpmcoreCore = 'cnpmcoreCore';
|
|
5
|
-
class ChangesStreamWorker extends egg_1.Subscription {
|
|
6
|
-
static get schedule() {
|
|
7
|
-
return {
|
|
8
|
-
interval: 60000,
|
|
9
|
-
type: 'worker',
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
async subscribe() {
|
|
13
|
-
const { ctx, app } = this;
|
|
14
|
-
if (app.config.cnpmcore.syncMode !== 'all' || !app.config.cnpmcore.enableChangesStream)
|
|
15
|
-
return;
|
|
16
|
-
await ctx.beginModuleScope(async () => {
|
|
17
|
-
const changesStreamService = ctx.module[cnpmcoreCore].changesStreamService;
|
|
18
|
-
const task = await changesStreamService.findExecuteTask();
|
|
19
|
-
if (!task)
|
|
20
|
-
return;
|
|
21
|
-
ctx.logger.warn('[ChangesStreamWorker:start] taskId: %s', task.taskId);
|
|
22
|
-
await changesStreamService.executeTask(task);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.default = ChangesStreamWorker;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbmdlc1N0cmVhbVdvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9zY2hlZHVsZS9DaGFuZ2VzU3RyZWFtV29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQW1DO0FBR25DLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQztBQUVwQyxNQUFxQixtQkFBb0IsU0FBUSxrQkFBWTtJQUMzRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPO1lBQ0wsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBRS9GLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLE1BQU0sb0JBQW9CLEdBQXlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsb0JBQW9CLENBQUM7WUFDakcsTUFBTSxJQUFJLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RSxNQUFNLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBCRCxzQ0FvQkMifQ==
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const egg_1 = require("egg");
|
|
4
|
-
const cnpmcoreCore = 'cnpmcoreCore';
|
|
5
|
-
// https://github.com/cnpm/cnpmcore/issues/9
|
|
6
|
-
class CheckRecentlyUpdatedPackages extends egg_1.Subscription {
|
|
7
|
-
static get schedule() {
|
|
8
|
-
return {
|
|
9
|
-
// every 5 mins
|
|
10
|
-
interval: 60000 * 5,
|
|
11
|
-
type: 'worker',
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
async subscribe() {
|
|
15
|
-
const { ctx, app } = this;
|
|
16
|
-
if (app.config.cnpmcore.syncMode !== 'all' || !app.config.cnpmcore.enableCheckRecentlyUpdated)
|
|
17
|
-
return;
|
|
18
|
-
await ctx.beginModuleScope(async () => {
|
|
19
|
-
const packageSyncerService = ctx.module[cnpmcoreCore].packageSyncerService;
|
|
20
|
-
const pageSize = 36;
|
|
21
|
-
const pageCount = app.config.env === 'unittest' ? 2 : 5;
|
|
22
|
-
for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {
|
|
23
|
-
const offset = pageSize * pageIndex;
|
|
24
|
-
const pageUrl = `https://www.npmjs.com/browse/updated?offset=${offset}`;
|
|
25
|
-
let html = '';
|
|
26
|
-
try {
|
|
27
|
-
const { status, data } = await ctx.httpclient.request(pageUrl, {
|
|
28
|
-
followRedirect: true,
|
|
29
|
-
timeout: 10000,
|
|
30
|
-
});
|
|
31
|
-
ctx.logger.info('[CheckRecentlyUpdatedPackages.subscribe][%s] request %s status: %s, data size: %s', pageIndex, pageUrl, status, data.length);
|
|
32
|
-
if (status === 200) {
|
|
33
|
-
html = data.toString();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
ctx.logger.info('[CheckRecentlyUpdatedPackages.subscribe:error][%s] request %s error: %s', pageIndex, pageUrl, err);
|
|
38
|
-
ctx.logger.error(err);
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
const matchs = /window\.__context__ = ([^<]+?)<\/script>/.exec(html);
|
|
42
|
-
if (!matchs)
|
|
43
|
-
continue;
|
|
44
|
-
try {
|
|
45
|
-
const data = JSON.parse(matchs[1]);
|
|
46
|
-
const packages = data.context.packages || [];
|
|
47
|
-
if (Array.isArray(packages)) {
|
|
48
|
-
ctx.logger.info('[CheckRecentlyUpdatedPackages.subscribe][%s] parse %d packages on %s', pageIndex, packages.length, pageUrl);
|
|
49
|
-
for (const pkg of packages) {
|
|
50
|
-
const task = await packageSyncerService.createTask(pkg.name, {
|
|
51
|
-
tips: `Sync cause by recently updated packages ${pageUrl}`,
|
|
52
|
-
});
|
|
53
|
-
ctx.logger.info('[CheckRecentlyUpdatedPackages.subscribe:createTask][%s] taskId: %s, targetName: %s', pageIndex, task.taskId, task.targetName);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
ctx.logger.info('[CheckRecentlyUpdatedPackages.subscribe:error][%s] parse %s context json error: %s', pageIndex, pageUrl, err);
|
|
59
|
-
ctx.logger.error(err);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.default = CheckRecentlyUpdatedPackages;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tSZWNlbnRseVVwZGF0ZWRQYWNrYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9zY2hlZHVsZS9DaGVja1JlY2VudGx5VXBkYXRlZFBhY2thZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQW1DO0FBR25DLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQztBQUVwQyw0Q0FBNEM7QUFDNUMsTUFBcUIsNEJBQTZCLFNBQVEsa0JBQVk7SUFDcEUsTUFBTSxLQUFLLFFBQVE7UUFDakIsT0FBTztZQUNMLGVBQWU7WUFDZixRQUFRLEVBQUUsS0FBSyxHQUFHLENBQUM7WUFDbkIsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCO1lBQUUsT0FBTztRQUV0RyxNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQyxNQUFNLG9CQUFvQixHQUF5QixHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ2pHLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNwQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQzFELE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxTQUFTLENBQUM7Z0JBQ3BDLE1BQU0sT0FBTyxHQUFHLCtDQUErQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNkLElBQUk7b0JBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDN0QsY0FBYyxFQUFFLElBQUk7d0JBQ3BCLE9BQU8sRUFBRSxLQUFLO3FCQUNmLENBQUMsQ0FBQztvQkFDSCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtRkFBbUYsRUFDakcsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMzQyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ2xCLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ3hCO2lCQUNGO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxFQUN2RixTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUMzQixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdEIsU0FBUztpQkFDVjtnQkFFRCxNQUFNLE1BQU0sR0FBRywwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxNQUFNO29CQUFFLFNBQVM7Z0JBRXRCLElBQUk7b0JBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO29CQUM3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzNCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNFQUFzRSxFQUNwRixTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7NEJBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0NBQzNELElBQUksRUFBRSwyQ0FBMkMsT0FBTyxFQUFFOzZCQUMzRCxDQUFDLENBQUM7NEJBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0ZBQW9GLEVBQ2xHLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzt5QkFDNUM7cUJBQ0Y7aUJBQ0Y7Z0JBQUMsT0FBTyxHQUFHLEVBQUU7b0JBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0ZBQW9GLEVBQ2xHLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzNCLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEvREQsK0NBK0RDIn0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const egg_1 = require("egg");
|
|
7
|
-
const promises_1 = require("fs/promises");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const dayjs_1 = __importDefault(require("../common/dayjs"));
|
|
10
|
-
class CleanTempDir extends egg_1.Subscription {
|
|
11
|
-
static get schedule() {
|
|
12
|
-
return {
|
|
13
|
-
cron: '0 2 * * *',
|
|
14
|
-
type: 'worker',
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
async subscribe() {
|
|
18
|
-
const { ctx, app } = this;
|
|
19
|
-
const downloadDir = path_1.default.join(app.config.dataDir, 'downloads');
|
|
20
|
-
const oldDirs = [
|
|
21
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(1, 'day').format('YYYY/MM/DD')),
|
|
22
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(2, 'day').format('YYYY/MM/DD')),
|
|
23
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(3, 'day').format('YYYY/MM/DD')),
|
|
24
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(4, 'day').format('YYYY/MM/DD')),
|
|
25
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(1, 'month').format('YYYY/MM')),
|
|
26
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(2, 'month').format('YYYY/MM')),
|
|
27
|
-
path_1.default.join(downloadDir, (0, dayjs_1.default)().subtract(1, 'year').format('YYYY')),
|
|
28
|
-
];
|
|
29
|
-
for (const dir of oldDirs) {
|
|
30
|
-
let exists = false;
|
|
31
|
-
try {
|
|
32
|
-
await (0, promises_1.access)(dir);
|
|
33
|
-
exists = true;
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
// console.log(err);
|
|
37
|
-
exists = false;
|
|
38
|
-
}
|
|
39
|
-
ctx.logger.info('[CleanTempDir.subscribe] dir "%s" exists: %s', dir, exists);
|
|
40
|
-
if (exists) {
|
|
41
|
-
await (0, promises_1.rm)(dir, { recursive: true, force: true });
|
|
42
|
-
ctx.logger.info('[CleanTempDir.subscribe] remove dir "%s"', dir);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.default = CleanTempDir;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xlYW5UZW1wRGlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL3NjaGVkdWxlL0NsZWFuVGVtcERpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUFtQztBQUNuQywwQ0FBeUM7QUFDekMsZ0RBQXdCO0FBQ3hCLDREQUFvQztBQUVwQyxNQUFxQixZQUFhLFNBQVEsa0JBQVk7SUFDcEQsTUFBTSxLQUFLLFFBQVE7UUFDakIsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUc7WUFDZCxjQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFBLGVBQUssR0FBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZFLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUEsZUFBSyxHQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkUsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBQSxlQUFLLEdBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2RSxjQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFBLGVBQUssR0FBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZFLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUEsZUFBSyxHQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBQSxlQUFLLEdBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RSxjQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFBLGVBQUssR0FBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25FLENBQUM7UUFDRixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSTtnQkFDRixNQUFNLElBQUEsaUJBQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNmO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osb0JBQW9CO2dCQUNwQixNQUFNLEdBQUcsS0FBSyxDQUFDO2FBQ2hCO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sSUFBQSxhQUFFLEVBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDaEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDbEU7U0FDRjtJQUNILENBQUM7Q0FDRjtBQXBDRCwrQkFvQ0MifQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const egg_1 = require("egg");
|
|
7
|
-
const binaries_1 = __importDefault(require("../../config/binaries"));
|
|
8
|
-
const cnpmcoreCore = 'cnpmcoreCore';
|
|
9
|
-
class CreateSyncBinaryTask extends egg_1.Subscription {
|
|
10
|
-
static get schedule() {
|
|
11
|
-
return {
|
|
12
|
-
// every 5 mins
|
|
13
|
-
interval: 60000 * 5,
|
|
14
|
-
type: 'worker',
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
async subscribe() {
|
|
18
|
-
const { ctx, app } = this;
|
|
19
|
-
if (!app.config.cnpmcore.enableSyncBinary)
|
|
20
|
-
return;
|
|
21
|
-
await ctx.beginModuleScope(async () => {
|
|
22
|
-
const binarySyncerService = ctx.module[cnpmcoreCore].binarySyncerService;
|
|
23
|
-
for (const binary of Object.values(binaries_1.default)) {
|
|
24
|
-
if (app.config.env === 'unittest' && binary.category !== 'node')
|
|
25
|
-
continue;
|
|
26
|
-
if (binary.disable)
|
|
27
|
-
continue;
|
|
28
|
-
await binarySyncerService.createTask(binary.category);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.default = CreateSyncBinaryTask;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlU3luY0JpbmFyeVRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvc2NoZWR1bGUvQ3JlYXRlU3luY0JpbmFyeVRhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBbUM7QUFFbkMscUVBQTZDO0FBRTdDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQztBQUVwQyxNQUFxQixvQkFBcUIsU0FBUSxrQkFBWTtJQUM1RCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPO1lBQ0wsZUFBZTtZQUNmLFFBQVEsRUFBRSxLQUFLLEdBQUcsQ0FBQztZQUNuQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUVsRCxNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQyxNQUFNLG1CQUFtQixHQUF3QixHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1lBQzlGLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBUSxDQUFDLEVBQUU7Z0JBQzVDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFBRSxTQUFTO2dCQUMxRSxJQUFJLE1BQU0sQ0FBQyxPQUFPO29CQUFFLFNBQVM7Z0JBQzdCLE1BQU0sbUJBQW1CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdEJELHVDQXNCQyJ9
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const egg_1 = require("egg");
|
|
4
|
-
const TaskService_1 = require("../core/service/TaskService");
|
|
5
|
-
const Task_1 = require("../common/enum/Task");
|
|
6
|
-
const CreateHookTriggerService_1 = require("../core/service/CreateHookTriggerService");
|
|
7
|
-
let executingCount = 0;
|
|
8
|
-
class CreateTriggerHookWorker extends egg_1.Subscription {
|
|
9
|
-
static get schedule() {
|
|
10
|
-
return {
|
|
11
|
-
interval: 1000,
|
|
12
|
-
type: 'all',
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
async subscribe() {
|
|
16
|
-
const { ctx, app } = this;
|
|
17
|
-
if (!app.config.cnpmcore.hookEnable)
|
|
18
|
-
return;
|
|
19
|
-
if (executingCount >= app.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks)
|
|
20
|
-
return;
|
|
21
|
-
await ctx.beginModuleScope(async () => {
|
|
22
|
-
const createHookTriggerService = await ctx.getEggObject(CreateHookTriggerService_1.CreateHookTriggerService);
|
|
23
|
-
const taskService = await ctx.getEggObject(TaskService_1.TaskService);
|
|
24
|
-
executingCount++;
|
|
25
|
-
try {
|
|
26
|
-
let task = await taskService.findExecuteTask(Task_1.TaskType.CreateHook);
|
|
27
|
-
while (task) {
|
|
28
|
-
const startTime = Date.now();
|
|
29
|
-
ctx.logger.info('[CreateTriggerHookWorker:subscribe:executeTask:start][%s] taskId: %s, targetName: %s, attempts: %s, params: %j, updatedAt: %s, delay %sms', executingCount, task.taskId, task.targetName, task.attempts, task.data, task.updatedAt, startTime - task.updatedAt.getTime());
|
|
30
|
-
await createHookTriggerService.executeTask(task);
|
|
31
|
-
const use = Date.now() - startTime;
|
|
32
|
-
ctx.logger.info('[CreateTriggerHookWorker:subscribe:executeTask:success][%s] taskId: %s, targetName: %s, use %sms', executingCount, task.taskId, task.targetName, use);
|
|
33
|
-
if (executingCount >= app.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks) {
|
|
34
|
-
ctx.logger.info('[CreateTriggerHookWorker:subscribe:executeTask] current sync task count %s, exceed max concurrent tasks %s', executingCount, app.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks);
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
// try next task
|
|
38
|
-
task = await taskService.findExecuteTask(Task_1.TaskType.CreateHook);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
ctx.logger.error('[TriggerHookWorker:subscribe:executeTask:error][%s] %s', executingCount, err);
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
executingCount--;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.default = CreateTriggerHookWorker;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlVHJpZ2dlckhvb2tXb3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvc2NoZWR1bGUvQ3JlYXRlVHJpZ2dlckhvb2tXb3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBbUM7QUFDbkMsNkRBQTBEO0FBQzFELDhDQUErQztBQUUvQyx1RkFBb0Y7QUFFcEYsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLE1BQXFCLHVCQUF3QixTQUFRLGtCQUFZO0lBQy9ELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUM1QyxJQUFJLGNBQWMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyx5Q0FBeUM7WUFBRSxPQUFPO1FBRTVGLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLG1EQUF3QixDQUFDLENBQUM7WUFDbEYsTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLHlCQUFXLENBQUMsQ0FBQztZQUN4RCxjQUFjLEVBQUUsQ0FBQztZQUNqQixJQUFJO2dCQUNGLElBQUksSUFBSSxHQUFHLE1BQU0sV0FBVyxDQUFDLGVBQWUsQ0FBQyxlQUFRLENBQUMsVUFBVSxDQUFtQixDQUFDO2dCQUNwRixPQUFPLElBQUksRUFBRTtvQkFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzdCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJJQUEySSxFQUN6SixjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUN0RixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUN4QyxNQUFNLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDakQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0dBQWtHLEVBQ2hILGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3JELElBQUksY0FBYyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHlDQUF5QyxFQUFFO3dCQUNuRixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0R0FBNEcsRUFDMUgsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7d0JBQ2pGLE1BQU07cUJBQ1A7b0JBQ0QsZ0JBQWdCO29CQUNoQixJQUFJLEdBQUcsTUFBTSxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxVQUFVLENBQW1CLENBQUM7aUJBQ2pGO2FBQ0Y7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDakc7b0JBQVM7Z0JBQ1IsY0FBYyxFQUFFLENBQUM7YUFDbEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTNDRCwwQ0EyQ0MifQ==
|