cnpmcore
Version:
75 lines • 6.42 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateTriggerHookWorker = void 0;
const schedule_1 = require("@eggjs/tegg/schedule");
const tegg_1 = require("@eggjs/tegg");
const TaskService_1 = require("../../core/service/TaskService");
const Task_1 = require("../../common/enum/Task");
const CreateHookTriggerService_1 = require("../../core/service/CreateHookTriggerService");
let executingCount = 0;
let CreateTriggerHookWorker = class CreateTriggerHookWorker {
async subscribe() {
if (!this.config.cnpmcore.hookEnable)
return;
if (executingCount >= this.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks)
return;
executingCount++;
try {
let task = await this.taskService.findExecuteTask(Task_1.TaskType.CreateHook);
while (task) {
const startTime = Date.now();
this.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());
await this.createHookTriggerService.executeTask(task);
const use = Date.now() - startTime;
this.logger.info('[CreateTriggerHookWorker:subscribe:executeTask:success][%s] taskId: %s, targetName: %s, use %sms', executingCount, task.taskId, task.targetName, use);
if (executingCount >= this.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks) {
this.logger.info('[CreateTriggerHookWorker:subscribe:executeTask] current sync task count %s, exceed max concurrent tasks %s', executingCount, this.config.cnpmcore.createTriggerHookWorkerMaxConcurrentTasks);
break;
}
// try next task
task = await this.taskService.findExecuteTask(Task_1.TaskType.CreateHook);
}
}
catch (err) {
this.logger.error('[TriggerHookWorker:subscribe:executeTask:error][%s] %s', executingCount, err);
}
finally {
executingCount--;
}
}
};
exports.CreateTriggerHookWorker = CreateTriggerHookWorker;
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], CreateTriggerHookWorker.prototype, "config", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], CreateTriggerHookWorker.prototype, "logger", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", CreateHookTriggerService_1.CreateHookTriggerService)
], CreateTriggerHookWorker.prototype, "createHookTriggerService", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", TaskService_1.TaskService)
], CreateTriggerHookWorker.prototype, "taskService", void 0);
exports.CreateTriggerHookWorker = CreateTriggerHookWorker = __decorate([
(0, schedule_1.Schedule)({
type: schedule_1.ScheduleType.ALL,
scheduleData: {
interval: 1000,
},
})
], CreateTriggerHookWorker);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlVHJpZ2dlckhvb2tXb3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9zY2hlZHVsZS9DcmVhdGVUcmlnZ2VySG9va1dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxtREFBOEU7QUFDOUUsc0NBQXFDO0FBQ3JDLGdFQUE2RDtBQUM3RCxpREFBa0Q7QUFFbEQsMEZBQXVGO0FBRXZGLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQVFoQixJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQWFsQyxLQUFLLENBQUMsU0FBUztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUM3QyxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyx5Q0FBeUM7WUFBRSxPQUFPO1FBRTdGLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLElBQUk7WUFDRixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxVQUFVLENBQW1CLENBQUM7WUFDekYsT0FBTyxJQUFJLEVBQUU7Z0JBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywySUFBMkksRUFDMUosY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFDdEYsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrR0FBa0csRUFDakgsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMseUNBQXlDLEVBQUU7b0JBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRHQUE0RyxFQUMzSCxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMseUNBQXlDLENBQUMsQ0FBQztvQkFDbEYsTUFBTTtpQkFDUDtnQkFDRCxnQkFBZ0I7Z0JBQ2hCLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxVQUFVLENBQW1CLENBQUM7YUFDdEY7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xHO2dCQUFTO1lBQ1IsY0FBYyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTNDWSwwREFBdUI7QUFFakI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7O3VEQUM2QjtBQUdyQjtJQURoQixJQUFBLGFBQU0sR0FBRTs7dURBQzBCO0FBR2xCO0lBRGhCLElBQUEsYUFBTSxHQUFFOzhCQUNrQyxtREFBd0I7eUVBQUM7QUFHbkQ7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQ3FCLHlCQUFXOzREQUFDO2tDQVgvQix1QkFBdUI7SUFObkMsSUFBQSxtQkFBUSxFQUFpQjtRQUN4QixJQUFJLEVBQUUsdUJBQVksQ0FBQyxHQUFHO1FBQ3RCLFlBQVksRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixDQUFDO0dBQ1csdUJBQXVCLENBMkNuQyJ9