npm.io
4.0.2 • Published 1 week ago

@eggjs/schedule-decorator

Licence
MIT
Version
4.0.2
Deps
0
Vulns
0
Weekly
0
Stars
19.0K

@eggjs/schedule-decorator

NPM version Known Vulnerabilities npm download Node.js Version

Install

npm i --save @eggjs/schedule-decorator

Define schedule subscriber

import { Schedule } from '@eggjs/tegg';

// use number to define schedule interval
@Schedule<IntervalParams>({
  type: ScheduleType.WORKER,
  scheduleData: {
    // run every 100ms
    interval: 100,
  },
})
export class FooSubscriber {
  @Inject()
  private readonly logger: EggLogger;

  async subscribe() {
    this.logger.info('schedule called');
  }
}

// use cron to define schedule interval
@Schedule<CronParams>({
  type: ScheduleType.WORKER,
  scheduleData: {
    cron: '0 0 3 * * *',
  },
})
export class FooSubscriber {
  @Inject()
  private readonly logger: EggLogger;

  async subscribe() {
    this.logger.info('schedule called');
  }
}

Keywords