因为我对loopback 4和Typescript非常新,所以我们必须使用自定义启动程序来实现像Cron这样的计划任务。
我需要一个代码片段来实现这一点,即一个自定义引导类,它实现了配置的Booter阶段,发现并加载到Run a Cron
我不确定这是否可行,但这对我有用。
https://loopback.io/doc/en/lb4/Booting-an-Application.html#bootcomponent
首先在项目文件夹中创建一个组件。我创造了src\components\cron.component.ts
import { Component } from "@loopback/core";
import { CronJob, CronCommand } from "cron"
export class CronJobsComponent implements Component {
private cj: CronJob;
constructor(){
this.start()
}
async start(){
this.cj = new CronJob('* * * * * *', this.showMessage)
this.cj.start();
}
showMessage:CronCommand = async () => {
console.log("inside cron jobs")
}
}
接下来在application.ts
文件中导入我们的组件
import { CronJobsComponent } from './components'
并在构造函数中注册我们的新组件
this.component(CronJobsComponent);
cron作业在应用程序启动时启动。
我用过https://www.npmjs.com/package/cron和https://www.npmjs.com/package/@types/cron
希望这对你有所帮助。