UNPKG

@eggjs/schedule

Version:

schedule plugin for egg, support corn job.

79 lines 4.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseStrategy = void 0; class BaseStrategy { agent; scheduleConfig; key; logger; closed = false; count = 0; constructor(scheduleConfig, agent, key) { this.agent = agent; this.key = key; this.scheduleConfig = scheduleConfig; this.logger = this.agent.getLogger('scheduleLogger'); } /** keep compatibility */ get schedule() { return this.scheduleConfig; } start() { // empty loop by default } close() { this.closed = true; } // eslint-disable-next-line @typescript-eslint/no-unused-vars onJobStart(_info) { } // eslint-disable-next-line @typescript-eslint/no-unused-vars onJobFinish(_info) { } /** * trigger one worker * * @param {...any} args - pass to job task */ sendOne(...args) { /* istanbul ignore next */ if (this.agent.schedule.closed) { this.logger.warn(`${this.key} skip due to schedule closed`); return; } this.count++; const info = { key: this.key, id: this.getSeqId(), args, }; this.logger.info(`[Job#${info.id}] ${info.key} triggered, send random by agent`); this.agent.messenger.sendRandom('egg-schedule', info); this.onJobStart(info); } /** * trigger all worker * * @param {...any} args - pass to job task */ sendAll(...args) { /* istanbul ignore next */ if (this.agent.schedule.closed) { this.logger.warn(`${this.key} skip due to schedule closed`); return; } this.count++; const info = { key: this.key, id: this.getSeqId(), args, }; this.logger.info(`[Job#${info.id}] ${info.key} triggered, send all by agent`); // send to all workers this.agent.messenger.send('egg-schedule', info); this.onJobStart(info); } getSeqId() { return `${Date.now()}${process.hrtime().join('')}${this.count}`; } } exports.BaseStrategy = BaseStrategy; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3RyYXRlZ3kvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFhLFlBQVk7SUFDYixLQUFLLENBQVE7SUFDYixjQUFjLENBQW9CO0lBQ2xDLEdBQUcsQ0FBUztJQUNaLE1BQU0sQ0FBWTtJQUNsQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLEtBQUssR0FBRyxDQUFDLENBQUM7SUFFVixZQUFZLGNBQWlDLEVBQUUsS0FBWSxFQUFFLEdBQVc7UUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUs7UUFDSCx3QkFBd0I7SUFDMUIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELFVBQVUsQ0FBQyxLQUF5QixJQUFHLENBQUM7SUFFeEMsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxLQUF5QixJQUFHLENBQUM7SUFFekM7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxHQUFHLElBQVc7UUFDcEIsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyw4QkFBOEIsQ0FBQyxDQUFDO1lBQzVELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsTUFBTSxJQUFJLEdBQUc7WUFDWCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJO1NBQ2lCLENBQUM7UUFFeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLGtDQUFrQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLEdBQUcsSUFBVztRQUNwQiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLDhCQUE4QixDQUFDLENBQUM7WUFDNUQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFYixNQUFNLElBQUksR0FBRztZQUNYLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUk7U0FDaUIsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsK0JBQStCLENBQUMsQ0FBQztRQUM5RSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF2RkQsb0NBdUZDIn0=