Interface IAgenda
L’interface IAgenda définit les fonctionnalités essentielles pour planifier, exécuter et gérer des tâches dans un système de workflows automatisés.
Objectif de l'interface
Définition de l’interface
/**
* Interface pour la gestion des tâches planifiées
*/
export interface IAgenda {
/**
* Planifie une tâche à exécuter périodiquement ou une seule fois.
* @param {ScheduledTaskInput} request - Configuration de la tâche à planifier.
* @param {ScheduledTaskCallbacks} [callbacks] - Callbacks pour suivre l’exécution.
* @returns {Promise<string>} ID unique de la tâche planifiée.
*/
scheduleTask(
request: ScheduledTaskInput,
callbacks?: ScheduledTaskCallbacks
): Promise<string>;
/**
* Annule une tâche planifiée en fonction de son ID.
* @param {string} taskId - ID de la tâche à annuler.
* @returns {Promise<boolean>} `true` si la tâche a été annulée, sinon `false`.
*/
cancelTask(taskId: string): Promise<boolean>;
/**
* Récupère toutes les tâches planifiées stockées en mémoire.
* @returns {Promise<ScheduledTask[]>} Liste des tâches stockées.
*/
getScheduledTasks(): Promise<ScheduledTask[]>;
/**
* Annule toutes les tâches planifiées.
* @returns {Promise<void>}
*/
cancelAllTasks(): Promise<void>;
/**
* Arrête l’ensemble des tâches et libère les ressources.
* @returns {Promise<void>}
*/
shutdown(): Promise<void>;
}Interfaces associées
ScheduledTaskInput : Définition d’une tâche planifiée
ScheduledTask : Représentation d’une tâche active
ScheduledTaskCallbacks : Suivi de l’exécution
Pourquoi cette interface ?
Indépendance du moteur de planification
Persistance des tâches
Gestion avancée du cycle de vie
Cas d’usage
Tâches périodiques et planification automatique
Orchestration de workflows distribués
Persistance et reprise après redémarrage
Mis à jour