要在 Angular 4 应用中设置 Quartz,你需要按照以下步骤进行操作:
quartz
包。你可以通过运行以下命令来安装它:npm install quartz --save
在你的 Angular 4 应用中创建一个新的服务文件,例如 quartz.service.ts
。
在 quartz.service.ts
文件中,导入 quartz
包和其他必要的依赖项:
import { Quartz, CronTrigger } from 'quartz';
quartz.service.ts
文件中,创建一个名为 QuartzService
的服务类:@Injectable()
export class QuartzService {
private quartz: Quartz;
constructor() {
this.quartz = new Quartz();
this.quartz.start();
}
scheduleJob(jobName: string, cronExpression: string) {
const job = new CronTrigger(jobName, cronExpression);
this.quartz.schedule(job);
}
cancelJob(jobName: string) {
this.quartz.cancel(jobName);
}
}
QuartzService
并将其注入到构造函数中:import { Component } from '@angular/core';
import { QuartzService } from './quartz.service';
@Component({
selector: 'app-root',
template: `
`,
})
export class AppComponent {
constructor(private quartzService: QuartzService) {}
scheduleJob() {
const jobName = 'myJob';
const cronExpression = '0/10 * * * * ?'; // 每 10 秒执行一次
this.quartzService.scheduleJob(jobName, cronExpression);
}
cancelJob() {
const jobName = 'myJob';
this.quartzService.cancelJob(jobName);
}
}
QuartzService
添加到 providers
列表中:import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { QuartzService } from './quartz.service';
@NgModule({
imports: [BrowserModule],
declarations: [AppComponent],
providers: [QuartzService],
bootstrap: [AppComponent],
})
export class AppModule {}
现在,你的 Angular 4 应用已经设置了 Quartz,并且可以使用 QuartzService
来调度和取消任务。