@infrasoftbe/vnv-sdk
    Preparing search index...

    Interface IBatch

    interface IBatch {
        complete: FnControllers;
        error: FnControllers;
        events: { end: onEndCallback; progress: onProgressCallback };
        fn: FnControllers;
        pending: FnControllers;
        status: "idle" | "running";
        summary: any;
        concurrency(n: number): void;
        createJob<Arguments extends Record<string, any> = {}>(
            description: string,
            controller: Function,
            arg?: Arguments,
        ): number;
        end(callback: onEndCallback): void;
        find(id: number): Controller<any>;
        on(
            event: "progress" | "end",
            callback: onProgressCallback | onEndCallback,
        ): void;
        progress(callback: onProgressCallback): void;
        push<Arguments extends Record<string, any> = {}>(
            controller: Function,
            arg?: Arguments,
        ): number;
        solver<ResultOnSuccess = any>(
            query: BatchFallbackQuery<ResultOnSuccess>,
        ): BatchFallbackSolver<ResultOnSuccess>;
        start(): Promise<any>;
        updateControllerStatus(
            controllerId: number,
            status: "pending" | "error" | "done",
        ): boolean;
    }

    Implemented by

    Index

    Properties

    complete: FnControllers
    events: { end: onEndCallback; progress: onProgressCallback }
    pending: FnControllers
    status: "idle" | "running"
    summary: any

    Methods

    • Définis le niveau de concurrence pour le traitement par lots. Il prend un seul paramètre « n » qui représente le nombre de tâches simultanées pouvant être exécutées en même temps. En définissant le niveau de simultanéité, vous pouvez contrôler le nombre de tâches traitées simultanément dans le travail par lots.

      Parameters

      • n: number

      Returns void

    • Type Parameters

      • Arguments extends Record<string, any> = {}

      Parameters

      • description: string
      • controller: Function
      • Optionalarg: Arguments

      Returns number

    • Définis une fonction qui vous permet de définir une fonction de rappel à exécuter lorsque le traitement par lots des contrôleurs est terminé. La méthode end prend un seul paramètre callback de type onEndCallback, qui est une fonction qui accepte une erreur et les résultats comme arguments.

      Parameters

      Returns void

    • Définit une fonction qui vous permet de définir une fonction de rappel à exécuter lorsqu'il y a une progression dans le traitement par lots des contrôleurs. Le type onProgressCallback représente une fonction qui accepte un tableau BatchProgressEvent comme argument. Ce tableau contient des informations sur la progression de chaque tâche par lots, y compris des détails tels que :

      • l'index
      • la valeur
      • les tâches en attente
      • le total des tâches
      • l'état d'avancement
      • le pourcentage d'achèvement
      • l'heure de début
      • l'heure de fin
      • la durée

      Parameters

      Returns void

    • Utilisée pour ajouter une nouvelle fonction de contrôleur à la file d'attente de traitement par lots.

      Type Parameters

      • Arguments extends Record<string, any> = {}

      Parameters

      Returns number

    • La méthode solver dans l'extrait de code définit une fonction qui permet d'ajouter un solveur en tant que requête qui ne s'exécutera que si l'élément observé a été exécuté (passage de l'attente à l'état terminé ou état d'erreur)

      Type Parameters

      • ResultOnSuccess = any

      Parameters

      • query: BatchFallbackQuery<ResultOnSuccess>

        batcher.push(( args ) => {

        let [ arg1 , arg2 ] = args;

        return batcher.solver({
        find : { id : "Controller ID" },
        args : args,
        on : {
        success : ( next , result ) => {

        // DO STUFF WITH RESULT

        next( myController( ... ) )

        },
        pending : ( wait ) => {

        // DO STUFF ON ERROR
        // NB : WAIT HAVE TO BE USED

        wait();

        }
        error : ( reject ) => {

        // DO STUFF ON ERROR

        reject();

        }
        }
        })

        } , args)

      Returns BatchFallbackSolver<ResultOnSuccess>

    • La méthode start() est responsable du lancement du traitement par lots des contrôleurs en file d'attente. Il renvoie une promesse qui se résout lorsque tous les contrôleurs ont été traités.

      Returns Promise<any>

    • Parameters

      • controllerId: number
      • status: "pending" | "error" | "done"

      Returns boolean