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

Avvio Rapido

Panoramica Sviluppo Plugin
Scrivere il Primo Plugin
Struttura Directory Progetto

Sviluppo Server-side

Panoramica
Plugin
Collezioni (Tabelle Dati)
Operazioni Database
Gestione Origini Dati (DataSourceManager)
Gestione Risorse (ResourceManager)
Controllo Accessi (ACL)
Middleware
Cache
Eventi
Contesto Richiesta
Script di Migrazione
Logger
Internazionalizzazione (I18n)
Comando
Gestione Cron Job
Test

Sviluppo Client-side

Panoramica
Plugin
Contesto
Router
Controllo Accessi (ACL)
Gestione Origini Dati (DataSourceManager)
Risorse
Richieste
Stili e Temi
Logger
Internazionalizzazione (I18n)
Test

Altro

Guida all'Aggiornamento Plugin
Elenco Lingue
Gestione Dipendenze
Build
Previous PageComando
Next PageTest
Avviso di traduzione IA

Questa documentazione è stata tradotta automaticamente dall'IA.

#CronJobManager Gestione delle attività pianificate

CronJobManager è un gestore di attività pianificate fornito da NocoBase, basato su cron. Permette ai plugin di registrare attività pianificate sul server per eseguire periodicamente una logica specifica.

#Utilizzo di base

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

export default class PluginCronDemo extends Plugin {
  async load() {
    this.app.cronJobManager.addJob({
      cronTime: '0 0 * * *', // Esecuzione giornaliera alle 00:00
      onTick: async () => {
        console.log('Attività giornaliera: pulizia dei dati temporanei');
        await this.cleanTemporaryData();
      },
      timeZone: 'Asia/Shanghai',
      start: true, // Avvio automatico
    });
  }

  async cleanTemporaryData() {
    // Esegua qui la logica di pulizia
  }
}

#Descrizione dei parametri

La definizione del tipo CronJobParameters è la seguente (da 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;
}
ParametroTipoDescrizione
cronTimestring | Date | DateTimeEspressione temporale dell'attività pianificata. Supporta espressioni cron standard, ad esempio 0 0 * * * significa esecuzione giornaliera alle 00:00.
onTickfunctionFunzione principale dell'attività. Verrà attivata all'ora specificata.
onCompletefunctionViene eseguita quando l'attività viene interrotta da job.stop() o dopo che la funzione onTick è stata completata.
timeZonestringSpecifica il fuso orario di esecuzione (ad esempio Asia/Shanghai).
contextanyContesto durante l'esecuzione di onTick.
runOnInitbooleanIndica se eseguire l'attività immediatamente una volta all'inizializzazione.
utcOffsetstring | numberSpecifica l'offset del fuso orario.
unrefTimeoutbooleanControlla se il ciclo di eventi rimane attivo.

#Esempi di espressioni Cron

EspressioneSignificato
* * * * *Esecuzione ogni minuto
0 * * * *Esecuzione ogni ora
0 0 * * *Esecuzione giornaliera alle 00:00
0 9 * * 1Esecuzione ogni lunedì alle 09:00
*/10 * * * *Esecuzione ogni 10 minuti

💡 Può utilizzare crontab.guru per aiutarLa a generare le espressioni.

#Controllo dell'avvio e dell'arresto delle attività

const job = app.cronJobManager.addJob({ ... });
job.start(); // Avvia l'attività
job.stop();  // Ferma l'attività
TIP

Le attività pianificate si avviano e si fermano insieme all'applicazione. Generalmente, non è necessario avviarle o fermarle manualmente, a meno che non sia strettamente indispensabile.