След задачи планировщика в Nest
Минутная сверка списка идёт без HTTP клиента: в журнале остаётся только строка консоли, и не видно, сколько длился фоновый шаг и не прервался ли он ошибкой.
С пакетом @nestjs/schedule
агент Observe сам пишет след
для задач @Cron,
@Interval
и @Timeout.
Повторяемые задания по расписанию
открывают свой след, не связанный
с HTTP. Для дополнительного
именованного фрагмента внутри
фонового метода по-прежнему
можно вызвать TracerService.createSpan.
Покажем на примере постов:
import { Injectable } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
@Injectable()
export class PostTasksService {
@Cron(CronExpression.EVERY_MINUTE)
handleCron() {
console.log('Post list minute');
}
}
Планировщик и Observe подключают в корневом модуле:
import { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
import { ObserveModule } from './observe.js';
import { PostTasksService } from './post.tasks.service.js';
@Module({
imports: [
ObserveModule.forRoot({
appKey: process.env.OBSERVE_APP_KEY!,
appSecret: process.env.OBSERVE_APP_SECRET!,
serviceId: 'posts-api',
}),
ScheduleModule.forRoot(),
],
providers: [PostTasksService],
})
export class AppModule {}
Добавьте минутный фоновый шаг
в WorkerTasksService
и подключите планировщик
вместе с наблюдением в корневом
модуле, чтобы шаг оставлял след.