agent.js 657 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. const WorkerStrategy = require('./lib/strategy/worker');
  3. const AllStrategy = require('./lib/strategy/all');
  4. module.exports = agent => {
  5. // register built-in strategy
  6. agent.schedule.use('worker', WorkerStrategy);
  7. agent.schedule.use('all', AllStrategy);
  8. // wait for other plugin to register custom strategy
  9. agent.beforeStart(() => {
  10. agent.schedule.init();
  11. });
  12. // dispatch job finish event to strategy
  13. agent.messenger.on('egg-schedule', (...args) => {
  14. agent.schedule.onJobFinish(...args);
  15. });
  16. agent.messenger.once('egg-ready', () => {
  17. // start schedule after worker ready
  18. agent.schedule.start();
  19. });
  20. };