@eggjs/tegg-schedule-plugin
Version:
schedule decorator for egg
26 lines • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScheduleWorkerRegister = void 0;
const tegg_1 = require("@eggjs/tegg");
const EggScheduleAdapter_1 = require("./EggScheduleAdapter");
const EggScheduleMetadataConvertor_1 = require("./EggScheduleMetadataConvertor");
class ScheduleWorkerRegister {
constructor(scheduleManager) {
this.scheduleManager = scheduleManager;
}
register(proto, metadata) {
const task = (0, EggScheduleAdapter_1.eggScheduleAdapterFactory)(proto, metadata);
const schedule = EggScheduleMetadataConvertor_1.EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
const key = proto.getMetaData(tegg_1.PrototypeUtil.FILE_PATH);
if (!key) {
throw new Error(`schedule prototype: ${proto.name} missing FILE_PATH metadata`);
}
this.scheduleManager.register(proto, {
schedule,
task,
key,
});
}
}
exports.ScheduleWorkerRegister = ScheduleWorkerRegister;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVXb3JrZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNjaGVkdWxlV29ya2VyUmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQTRDO0FBRzVDLDZEQUFpRTtBQUNqRSxpRkFBOEU7QUFHOUUsTUFBYSxzQkFBc0I7SUFHakMsWUFBWSxlQUFnQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW1CLEVBQUUsUUFBa0M7UUFDOUQsTUFBTSxJQUFJLEdBQUcsSUFBQSw4Q0FBeUIsRUFBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsMkRBQTRCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBYSxDQUFDLFNBQVMsQ0FBVyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEtBQUssQ0FBQyxJQUFjLDZCQUE2QixDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUNuQyxRQUFRO1lBQ1IsSUFBSTtZQUNKLEdBQUc7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwQkQsd0RBb0JDIn0=