UNPKG

cnpmcore

Version:
75 lines 6.26 kB
"use strict"; 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.TriggerHookWorker = void 0; const schedule_1 = require("@eggjs/tegg/schedule"); const tegg_1 = require("@eggjs/tegg"); const HookTriggerService_1 = require("../../core/service/HookTriggerService"); const TaskService_1 = require("../../core/service/TaskService"); const Task_1 = require("../../common/enum/Task"); let executingCount = 0; let TriggerHookWorker = class TriggerHookWorker { async subscribe() { if (!this.config.cnpmcore.hookEnable) return; if (executingCount >= this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks) return; executingCount++; try { let task = await this.taskService.findExecuteTask(Task_1.TaskType.TriggerHook); while (task) { const startTime = Date.now(); 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()); await this.hookTriggerService.executeTask(task); const use = Date.now() - startTime; this.logger.info('[TriggerHookWorker:subscribe:executeTask:success][%s] taskId: %s, targetName: %s, use %sms', executingCount, task.taskId, task.targetName, use); if (executingCount >= this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks) { this.logger.info('[TriggerHookWorker:subscribe:executeTask] current sync task count %s, exceed max concurrent tasks %s', executingCount, this.config.cnpmcore.triggerHookWorkerMaxConcurrentTasks); break; } // try next task task = await this.taskService.findExecuteTask(Task_1.TaskType.TriggerHook); } } catch (err) { this.logger.error('[TriggerHookWorker:subscribe:executeTask:error][%s] %s', executingCount, err); } finally { executingCount--; } } }; exports.TriggerHookWorker = TriggerHookWorker; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], TriggerHookWorker.prototype, "config", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], TriggerHookWorker.prototype, "logger", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", HookTriggerService_1.HookTriggerService) ], TriggerHookWorker.prototype, "hookTriggerService", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", TaskService_1.TaskService) ], TriggerHookWorker.prototype, "taskService", void 0); exports.TriggerHookWorker = TriggerHookWorker = __decorate([ (0, schedule_1.Schedule)({ type: schedule_1.ScheduleType.ALL, scheduleData: { interval: 1000, }, }) ], TriggerHookWorker); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJpZ2dlckhvb2tXb3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9zY2hlZHVsZS9UcmlnZ2VySG9va1dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxtREFBOEU7QUFDOUUsc0NBQXFDO0FBQ3JDLDhFQUEyRTtBQUMzRSxnRUFBNkQ7QUFDN0QsaURBQWtEO0FBR2xELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQU9oQixJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQWE1QixLQUFLLENBQUMsU0FBUztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUM3QyxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQ0FBbUM7WUFBRSxPQUFPO1FBRXZGLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLElBQUk7WUFDRixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxXQUFXLENBQW9CLENBQUM7WUFDM0YsT0FBTyxJQUFJLEVBQUU7Z0JBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxSUFBcUksRUFDcEosY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFDdEYsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0RkFBNEYsRUFDM0csY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsbUNBQW1DLEVBQUU7b0JBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNHQUFzRyxFQUNySCxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsbUNBQW1DLENBQUMsQ0FBQztvQkFDNUUsTUFBTTtpQkFDUDtnQkFDRCxnQkFBZ0I7Z0JBQ2hCLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQVEsQ0FBQyxXQUFXLENBQW9CLENBQUM7YUFDeEY7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xHO2dCQUFTO1lBQ1IsY0FBYyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTNDWSw4Q0FBaUI7QUFFWDtJQURoQixJQUFBLGFBQU0sR0FBRTs7aURBQzZCO0FBR3JCO0lBRGhCLElBQUEsYUFBTSxHQUFFOztpREFDMEI7QUFHbEI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQzRCLHVDQUFrQjs2REFBQztBQUd2QztJQURoQixJQUFBLGFBQU0sR0FBRTs4QkFDcUIseUJBQVc7c0RBQUM7NEJBWC9CLGlCQUFpQjtJQU43QixJQUFBLG1CQUFRLEVBQWlCO1FBQ3hCLElBQUksRUFBRSx1QkFBWSxDQUFDLEdBQUc7UUFDdEIsWUFBWSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7U0FDZjtLQUNGLENBQUM7R0FDVyxpQkFBaUIsQ0EyQzdCIn0=