РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpObSs 194 of 201 menu
◀ ▶

След задачи планировщика в 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 и подключите планировщик вместе с наблюдением в корневом модуле, чтобы шаг оставлял след.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить