'use strict';
|
|
const WorkerStrategy = require('./lib/strategy/worker');
|
const AllStrategy = require('./lib/strategy/all');
|
|
module.exports = agent => {
|
// register built-in strategy
|
agent.schedule.use('worker', WorkerStrategy);
|
agent.schedule.use('all', AllStrategy);
|
|
// wait for other plugin to register custom strategy
|
agent.beforeStart(() => {
|
agent.schedule.init();
|
});
|
|
// dispatch job finish event to strategy
|
agent.messenger.on('egg-schedule', (...args) => {
|
agent.schedule.onJobFinish(...args);
|
});
|
|
agent.messenger.once('egg-ready', () => {
|
// start schedule after worker ready
|
agent.schedule.start();
|
});
|
};
|