@eggjs/schedule
Version:
schedule plugin for egg, support corn job.
32 lines • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const node_util_1 = require("node:util");
const worker_js_1 = require("./lib/strategy/worker.js");
const all_js_1 = require("./lib/strategy/all.js");
const debug = (0, node_util_1.debuglog)('@eggjs/schedule/agent');
class Boot {
#agent;
constructor(agent) {
this.#agent = agent;
}
async configDidLoad() {
// register built-in strategy
this.#agent.schedule.use('worker', worker_js_1.WorkerStrategy);
this.#agent.schedule.use('all', all_js_1.AllStrategy);
// wait for other plugin to register custom strategy
await this.#agent.schedule.init();
// dispatch job finish event to strategy
this.#agent.messenger.on('egg-schedule', (info) => {
// get job info from worker
this.#agent.schedule.onJobFinish(info);
});
debug('configDidLoad');
}
async serverDidReady() {
// start schedule after worker ready
this.#agent.schedule.start();
debug('serverDidReady, schedule start');
}
}
exports.default = Boot;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBcUM7QUFFckMsd0RBQTBEO0FBQzFELGtEQUFvRDtBQUdwRCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUVoRCxNQUFxQixJQUFJO0lBQ3ZCLE1BQU0sQ0FBUTtJQUNkLFlBQVksS0FBWTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsMEJBQWMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsb0JBQVcsQ0FBQyxDQUFDO1FBRTdDLG9EQUFvRDtRQUNwRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWxDLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBd0IsRUFBRSxFQUFFO1lBQ3BFLDJCQUEyQjtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUEzQkQsdUJBMkJDIn0=