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

Имя задачи в Nest

Несколько фоновых шагов могут жить в одном классе, и по методу в памяти планировщика их не отличить. Остановка или проверка одной задачи без метки превращается в угадывание, какой экземпляр тронуть.

К @Cron можно добавить объект настроек. Поле name задаёт строковый ключ, под которым задача попадает в реестр планировщика. Это имя потом передают в SchedulerRegistry, когда нужно получить конкретный CronJob.

Покажем на примере постов:

import { Injectable } from '@nestjs/common'; import { Cron, CronExpression } from '@nestjs/schedule'; @Injectable() export class PostTasksService { @Cron(CronExpression.EVERY_MINUTE, { name: 'post-list-minute', }) handleCron() { console.log('Post list minute'); } }

Корневой модуль по-прежнему импортирует ScheduleModule.forRoot и регистрирует провайдер:

import { Module } from '@nestjs/common'; import { ScheduleModule } from '@nestjs/schedule'; import { PostTasksService } from './post.tasks.service.js'; @Module({ imports: [ScheduleModule.forRoot()], providers: [PostTasksService], }) export class AppModule {}

Задайте имя минутной задаче списка работников в WorkerTasksService, чтобы её можно было найти в реестре по строковому ключу.

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