将变量从配置服务传递到Typescript装饰器

时间:2020-01-11 20:08:40

标签: javascript node.js typescript nestjs

我想为NestJs应用程序创建计划任务。它应该每X秒执行一次,因此我使用here中所述的间隔。

该应用程序利用配置文件,因此我可以使用保持时间间隔可配置。但是如何将变量传递给Typescript装饰器?

NestJs为计划的任务提供了sample repository

因此,基于样本,我希望拥有类似的东西

@Injectable()
export class TasksService {
  constructor(
    private readonly myConfigService: MyConfigService,
  ) {}

  @Interval(this.myConfigService.intervalInMilliseconds)
  handleInterval() {
    // ...
  }
}

我必须按照文档中以下所述使用SchedulerRegistry吗?看来使用标准打字稿是不可能的,请参见this thread

1 个答案:

答案 0 :(得分:2)

这对于声明性API(注释)是不可能的,您必须动态注册cron作业(请参见the docs):

Pub/Sub