Projelerimizde belli zamanlarda çalışması gereken görevler olabiliyor. Bu günün belli bir vaktinde ya da daha sık periyotlarla çalışması gereken görevleri ayarlamak için NestJS @nestjs/schedule paketini sunuyor.
Basit bir örnek yapmak için öncelikle boş bir NestJS projesi oluşturalım. Bunun için daha önceki
bu yazıma göz atabilirsiniz.
Projemizi oluşturduktan sonra aşağıdaki komutla ilgili paketi projemize ekleyelim.
npm install --save @nestjs/schedule
Daha sonra app.service.ts içine bir sonraki adımda zamanlanmış görev (scheduled task) olarak çalıştıracağımız basit bir metod yazalım. Bu metod her çalıştığında terminale zamanı yazacak.
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
logCurrentTime() {
console.log(new Date().toLocaleString());
}
}
Şimdi hazırlıklarımızı tamamladığımıza göre bu metodu her saniye çalıştıracak kısmı ekleyebiliriz. Öncelikle ScheduleModule'u AppModule'e import ederek zamanlanmış görevleri aktive edelim.