@eggjs/tegg-schedule-plugin
Version:
schedule decorator for egg
30 lines • 2.63 kB
JavaScript
;
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=