agent.js 662 B

1234567891011121314151617181920212223242526272829303132
  1. 'use strict';
  2. const Strategy = require('../../lib/strategy/base');
  3. const TimerStrategy = require('../../lib/strategy/timer');
  4. const Schedule = require('../../lib/schedule');
  5. const SCHEDULE = Symbol('agent#schedule');
  6. module.exports = {
  7. /**
  8. * @member agent#ScheduleStrategy
  9. */
  10. ScheduleStrategy: Strategy,
  11. /**
  12. * @member agent#TimerScheduleStrategy
  13. */
  14. TimerScheduleStrategy: TimerStrategy,
  15. /**
  16. * @member agent#schedule
  17. */
  18. get schedule() {
  19. if (!this[SCHEDULE]) {
  20. this[SCHEDULE] = new Schedule(this);
  21. this.beforeClose(() => {
  22. return this[SCHEDULE].close();
  23. });
  24. }
  25. return this[SCHEDULE];
  26. },
  27. };