logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo

Швидкий старт

Огляд розробки плагінів
Написання першого плагіна
Структура каталогу проєкту

Серверна розробка

Огляд
Плагін (Plugin)
Колекції (таблиці даних)
Операції з базою даних (Database)
Керування джерелами даних (DataSourceManager)
Керування ресурсами (ResourceManager)
Контроль доступу (ACL)
Проміжне ПЗ (Middleware)
Кеш (Cache)
Подія (Event)
Контекст запиту (Context)
Скрипт оновлення (Migration)
Логи (Logger)
Інтернаціоналізація (I18n)
Командний рядок (Command)
Керування завданнями за розкладом (CronJobManager)
Тестування (Test)

Клієнтська розробка

Огляд
Плагін (Plugin)
Контекст (Context)
Маршрутизатор (Router)
Контроль доступу (ACL)
Керування джерелами даних (DataSourceManager)
Ресурс (Resource)
Запит (Request)
Стилі та теми (Styles & Themes)
Логи (Logger)
Інтернаціоналізація (I18n)
Тестування (Test)

Інше

Посібник з оновлення плагінів
Список мов
Керування залежностями
Збірка
Previous PageКомандний рядок (Command)
Next PageТестування (Test)
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#CronJobManager

CronJobManager — це менеджер запланованих завдань, що надається NocoBase та базується на cron. Він дозволяє плагінам реєструвати заплановані завдання на сервері для періодичного виконання певної логіки.

#Основне використання

import { Plugin } from '@nocobase/server';

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Виконується щодня о 00:00
      onTick: async () => {
        console.log('Щоденне завдання: очищення тимчасових даних');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Автоматичний запуск
    });
  }

  async cleanTemporaryData() {
    // Тут виконується логіка очищення
  }
}

#Опис параметрів

Визначення типу CronJobParameters виглядає так (з cron):

export declare interface CronJobParameters {
  cronTime: string | Date | DateTime;
  onTick: CronCommand;
  onComplete?: CronCommand | null;
  start?: boolean;
  timeZone?: string;
  context?: any;
  runOnInit?: boolean;
  utcOffset?: string | number;
  unrefTimeout?: boolean;
}

| Параметр | Тип | Опис
| cronTime | string \| Date \| DateTime | Вираз часу для запланованого завдання. Підтримує стандартні cron-вирази, наприклад, 0 0 * * * означає виконання щодня о 00:00. CronJobManager — це менеджер запланованих завдань, що надається NocoBase та базується на cron. Він дозволяє плагінам реєструвати заплановані завдання на сервері для періодичного виконання певної логіки.

#Основне використання

import { Plugin } from '@nocobase/server';

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Виконується щодня о 00:00
      onTick: async () => {
        console.log('Щоденне завдання: очищення тимчасових даних');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Автоматичний запуск
    });
  }

  async cleanTemporaryData() {
    // Тут виконується логіка очищення
  }
}

#Опис параметрів

Визначення типу CronJobParameters виглядає так (з cron):

export declare interface CronJobParameters {
  cronTime: string | Date | DateTime;
  onTick: CronCommand;
  onComplete?: CronCommand | null;
  start?: boolean;
  timeZone?: string;
  context?: any;
  runOnInit?: boolean;
  utcOffset?: string | number;
  unrefTimeout?: boolean;
}

| Параметр | Тип | Опис CronJobManager — це менеджер запланованих завдань, що надається NocoBase та базується на cron. Він дозволяє плагінам реєструвати заплановані завдання на сервері для періодичного виконання певної логіки.

#Основне використання

import { Plugin } from '@nocobase/server';

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Виконується щодня о 00:00
      onTick: async () => {
        console.log('Щоденне завдання: очищення тимчасових даних');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Автоматичний запуск
    });
  }

  async cleanTemporaryData() {
    // Тут виконується логіка очищення
  }
}

#Опис параметрів

Визначення типу CronJobParameters виглядає так (з cron):

export declare interface CronJobParameters {
  cronTime: string | Date | DateTime;
  onTick: CronCommand;
  onComplete?: CronCommand | null;
  start?: boolean;
  timeZone?: string;
  context?: any;
  runOnInit?: boolean;
  utcOffset?: string | number;
  unrefTimeout?: boolean;
}

| Параметр | Тип | Опис CronJobManager — це менеджер запланованих завдань, що надається NocoBase та базується на cron. Він дозволяє плагінам реєструвати заплановані завдання на сервері для періодичного виконання певної логіки.

#Основне використання

import { Plugin } from '@nocobase/server';

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Виконується щодня о 00:00
      onTick: async () => {
        console.log('Щоденне завдання: очищення тимчасових даних');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Автоматичний запуск
    });
  }

  async cleanTemporaryData() {
    // Тут виконується логіка очищення
  }
}

#Опис параметрів

Визначення типу CronJobParameters виглядає так (з cron):

export declare interface CronJobParameters {
  cronTime: string | Date | DateTime;
  onTick: CronCommand;
  onComplete?: CronCommand | null;
  start?: boolean;
  timeZone?: string;
  context?: any;
  runOnInit?: boolean;
  utcOffset?: string | number;
  unrefTimeout?: boolean;
}

| Параметр | Тип | Опис
| onComplete | function | Виконується, коли завдання зупиняється за допомогою job.stop() або після завершення функції onTick.
| timeZone | string | Вказує часовий пояс виконання (наприклад, Asia/Shanghai). CronJobManager — це менеджер запланованих завдань, що надається NocoBase та базується на cron. Він дозволяє плагінам реєструвати заплановані завдання на сервері для періодичного виконання певної логіки.

#Основне використання

import { Plugin } from '@nocobase/server';

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Виконується щодня о 00:00
      onTick: async () => {
        console.log('Щоденне завдання: очищення тимчасових даних');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Автоматичний запуск
    });
  }

  async cleanTemporaryData() {
    // Тут виконується логіка очищення
  }
}

#Опис параметрів

Визначення типу CronJobParameters виглядає так (з cron):

export declare interface CronJobParameters {
  cronTime: string | Date | DateTime;
  onTick: CronCommand;
  onComplete?: CronCommand | null;
  start?: boolean;
  timeZone?: string;
  context?: any;
  runOnInit?: boolean;
  utcOffset?: string | number;
  unrefTimeout?: boolean;
}

| Параметр | Тип | Опис
| context | any | Контекст, в якому виконується onTick.