Loading
Invocation de tâches par programmation

Invocation de tâches par programmation

Utilisez des méthodes VlocityBatchFramework pour démarrer des tâches planifiées avec un Type de source de données Requête. Vous pouvez démarrer toutes les tâches, plusieurs tâches ou une seule tâche. Vous pouvez également invoquer une procédure d'intégration ou VlocityOpenInterface en tant que tâche.

Pour démarrer immédiatement toutes les tâches planifiées avec un Type de source de données Requête, invoquez la méthode VlocityBatchFramework.startScheduledJobs() en utilisant Apex anonyme, en omettant tout paramètre, comme suit:

VlocityBatchFramework.startScheduledJobs();

Pour démarrer immédiatement une tâche planifiée unique avec un Type de source de données Requête, invoquez la méthode VlocityBatchFramework.startScheduledJob() en utilisant Apex anonyme, en spécifiant l'ID de la tâche que vous souhaitez exécuter. Par exemple :

VlocityBatchFramework.startScheduledJob('a3Zf4000000J81v');

Pour démarrer immédiatement plusieurs tâches planifiées avec un Type de source de données Requête, invoquez la méthode VlocityBatchFramework.startScheduledJobs() en utilisant Apex anonyme, en spécifiant une liste d'ID pour les tâches que vous souhaitez exécuter. Par exemple :

VlocityBatchFramework.startScheduledJobs(new List<Id>{'a3Zf4000000J81v', 'a3Zf4000000IwIU'});

Remarque
Remarque L'infrastructure par lot ne prend pas en charge l'invocation de tâches planifiées avec les valeurs Type de source de données Aucune entrée, Entrée de données ou Entrée de liste.

L'infrastructure par lot permet également d'invoquer par programmation n'importe quelle procédure d'intégration ou VlocityOpenInterface en tant que tâche. Les méthodes de démarrage des tâches par lot sont les suivantes :

VlocityBatchFramework.startIntegrationProcedureBatch(String integrationProcedureKey, List<Object> input, new Map<String, Object> options);
VlocityBatchFramework.startOpenInterfaceBatch(String classMethod, List<Object> input, new Map<String, Object> options);

Pour démarrer une tâche Procédure d'intégration depuis Apex, lancez la commande suivante:

VlocityBatchFramework.startIntegrationProcedureBatch({integration procedure key}, input list, options map);

Par exemple :

VlocityBatchFramework.startIntegrationProcedureBatch('VlocityBatchFramework_ValidateAccountBillingStreet', accounts, new Map<String, Object>{'isInputAsList' => true, 'batchSize' => 20});

Pour démarrer une tâche Apex asynchrone qui exécute l'invokeMethod d'une classe spécifiée, lancez la commande suivante:

VlocityBatchFramework.startOpenInterfaceBatch({ Class name . method name }, input list, options map);

Par exemple :

VlocityBatchFramework.startOpenInterfaceBatch('VlocityBatchFrameworkTestOI4.updateStatus', accounts, new Map<String, Object>{'isInputAsList' => false, 'batchSize' => 20});

Pour enchaîner les tâches planifiées qui exécutent des Procédures d'intégration, saisissez les ID des tâches et incluez une option chaînable définie sur true :

startScheduledJobs(new Map<String, Object>{‘vlocityScheduledJobIds’ => new List<String>{‘JobId’, 'JobId2'}, new Map<String, Object>{'chainable' => true});

Par exemple :

VlocityBatchFramework.startScheduledJobs(new Map<String, Object>{'vlocityScheduledJobIds' => new List<String>{'a3Zf4000000T7A1', 'a3Zf4000000T7A6'}}, new Map<String, Object>{'chainable' => true});

Vous pouvez spécifier les options suivantes dans la carte des options lors de l'invocation d'une tâche par programmation. Voir ci-dessus pour plus de détails.

  • batchSize

  • chaînable : Seules les tâches contenant des procédures d'intégration peuvent être enchaînées.

  • isInputAsList

  • jobQueue

Les méthodes suivantes permettent de gérer l'exécution des tâches par programmation :

  • getCurrentBatchJobs() : Renvoie AsyncApexJobs qui ne sont pas « Aborted », « Completed » ou « Failled ».

  • abortBatchJobs() : Abandonne tous les AsyncApexJobs nommés "VlocityBatchFramework".

  • getScheduledBatchJob() : Renvoie un CronTrigger nommé "VlocityScheduledJob".

  • abortScheduledBatchJob() : Essaie d'abandonner le CronTrigger nommé "VlocityScheduledJob".

 
Chargement
Salesforce Help | Article