UNPKG

@eggjs/tegg-schedule-plugin

Version:

schedule decorator for egg

30 lines 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ScheduleSubscriberRegister_1 = require("./lib/ScheduleSubscriberRegister"); const tegg_loader_1 = require("@eggjs/tegg-loader"); const tegg_metadata_1 = require("@eggjs/tegg-metadata"); const schedule_1 = require("@eggjs/tegg/schedule"); class ScheduleAppBootHook { constructor(agent) { this.agent = agent; this.scheduleSubscriberRegister = new ScheduleSubscriberRegister_1.ScheduleSubscriberRegister(this.agent); } configDidLoad() { // FIXME: tegg use lots singleton, in mm.app test case, agent/app in one process // if use start tegg in agent, the app will use the same singleton // so we should refactor tegg to not use singleton. for (const moduleConfig of this.agent.moduleReferences) { const loader = tegg_loader_1.LoaderFactory.createLoader(moduleConfig.path, tegg_metadata_1.EggLoadUnitType.MODULE); const clazzList = loader.load(); for (const clazz of clazzList) { if (schedule_1.ScheduleInfoUtil.isSchedule(clazz)) { const builder = new schedule_1.ScheduleMetaBuilder(clazz); const metadata = builder.build(); this.scheduleSubscriberRegister.register(clazz, metadata); } } } } } exports.default = ScheduleAppBootHook; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLGlGQUE4RTtBQUM5RSxvREFBbUQ7QUFDbkQsd0RBQXVEO0FBQ3ZELG1EQUE2RTtBQUU3RSxNQUFxQixtQkFBbUI7SUFJdEMsWUFBWSxLQUFLO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksdURBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxhQUFhO1FBQ1gsZ0ZBQWdGO1FBQ2hGLGtFQUFrRTtRQUNsRSxtREFBbUQ7UUFDbkQsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdkQsTUFBTSxNQUFNLEdBQUcsMkJBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSwrQkFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLDJCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLDhCQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMvQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2pDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6QkQsc0NBeUJDIn0=