Site icon Blog ARC Optimizer

Démystifier l’expression CRON dans Salesforce


Bonjour les pionniers,

Dans cet article de blog, nous aborderons un sujet très important que nous utilisons dans nos pratiques quotidiennes de codage ou de programmation – Expression CRON.

Comme vous le savez, Salesforce propose une fonctionnalité très intéressante de planification d’une classe Apex. Vous pouvez planifier des cours de manière standard grâce à la personnalisation avec la fréquence des jours hebdomadaires ou des dates mensuelles avec une heure de début préférée. Si vous souhaitez savoir comment procéder, vous pouvez suivre ce lien.

Mais avec l’aide de l’expression CRON, nous pouvons planifier notre classe apex de manière plus personnalisée.

Dans cet article de blog, nous apprendrons ce qu’est CRON et CRON Expression. Quelle est son utilité dans Salesforce et comment l’écrire et bien d’autres.

Alors, commençons…

Qu’est-ce que CRON ?

CRON est un système de planification de tâches basé sur le temps, couramment utilisé dans les systèmes d’exploitation de type Unix. Il permet aux utilisateurs de planifier des tâches (commandes ou scripts) pour qu’elles s’exécutent régulièrement à des heures, des dates ou des intervalles prédéfinis.

Qu’est-ce que l’expression CRON ?

Une expression CRON est une chaîne représentant une planification qui détermine quand une tâche ou un travail doit s’exécuter. Il s’agit d’une syntaxe standard utilisée dans de nombreux systèmes d’exploitation, applications et services pour planifier des tâches récurrentes.

Exemple de code :

SampleSchedulableClass testobj = new SampleSchedulableClass();
String cronexp = ‘0 0 5 ? * * *’;
System.schedule(‘Testing’, cronexp, testobj);

Le code ci-dessus exécute SampleSchedulableClass tous les jours à 5h00. Ici, nous avons stocké l’expression cron dans la variable « cronexp ».

Utilisation de l’expression Cron dans Salesforce :

Dans Salesforce, les expressions CRON sont principalement utilisées pour planifier des tâches, notamment dans le contexte des tâches Apex planifiées. Il permet aux développeurs d’écrire une classe qui implémente le Interface programmable pour s’exécuter à des intervalles spécifiés en utilisant Expressions CRON.

Par exemple, System.Schedule (JobName, CronExpression, SchedulableClassName);

Syntaxe de l’expression CRON :

La syntaxe d’une expression CRON se compose de champs qui représentent différents aspects du temps. Chaque champ spécifie une unité de temps et une expression CRON se compose généralement de six ou sept champs, représentant secondes, minutes, heures, jour du mois, mois, jour de la semaine et une année facultative.

Voici une description d’une expression CRON standard à six champs :

0

30

5

*

*

*

Seconde

Minutes

Heures

Jour du mois

Mois

Jour de la semaine

Dans l’exemple d’expression CRON ci-dessus, une tâche s’exécutera tous les jours à 17h30 le matin.

Voici les valeurs autorisées, les caractères spéciaux et les exigences de l’expression :

Nom Valeurs autorisées Caractères spéciaux Requis
Secondes 0-59 Aucun Oui
Minutes 0-59 Aucun Oui
Heures 0-23 Aucun Oui
Jour du mois 1-31 , – * ? / LW Oui
Mois 1-12 ou JAN, FEB, MAR,…….DEC (seulement trois lettres) – * / Oui
Jour de la semaine 1-7 ou DIMANCHE, LUN, MAR,….. SAM , – * ? / L # Oui
Année (facultatif) Nul ou 1970-2099 – * / Non

Caractères spéciaux dans l’expression CRON :

Caractères spéciaux Description
Virgule (,) Sépare les valeurs individuelles. Par exemple, 1,15 dans le champ jour du mois signifie « le 1er et le 15 du mois ».
Trait d’union (-) Spécifiez une plage de valeurs. Par exemple, JAN-AUG signifie plus d’un mois, ou 1-5 dans le champ du jour de la semaine signifie « du lundi au vendredi ».
Astérisque
Il spécifie toutes les valeurs. Par exemple, * dans le champ des minutes représente « chaque minute ». Point d’interrogation (?)
Il ne précise aucune valeur spécifique. Utilisé uniquement pour Day_of_Month et Day_of_Week. Il permet de préciser l’autre champ. Par exemple, si vous souhaitez exécuter une tâche tous les jours, quel que soit le jour du mois, vous pouvez utiliser 0 0 0 ? * *. Barre oblique (/)
Spécifie des incréments pour les plages */5 dans le champ des minutes, par exemple, signifie « toutes les 5 minutes ». L Représente ledernier jour du mois ou dernier jour de la semaine
. Dans le champ jour du mois, par exemple, L désigne « le dernier jour du mois ». Lorsque vous l’utilisez avec Day_of_Week, cela signifie 7 ou SAT. W Il précise le jour de la semaine le plus proche
(du lundi au vendredi) du jour donné du mois. Par exemple, 5W dans le champ jour du mois signifie « le jour de la semaine le plus proche du 5ème jour du mois ». # (énième jour_de_semaine)

Spécifie la nième occurrence d’un jour de la semaine au cours d’un mois. Par exemple, 2#3 dans le champ du jour de la semaine signifie « le troisième mardi du mois ».

Note

: Vous pouvez utiliser L et W ensemble pour spécifier le dernier jour de la semaine du mois. Voilà quelque

exemples d’expression CRON : Expression
Description 0 30 7 * * ? *
Fonctionne tous les jours à 7h30 0 0 8 ? * MON-FRI *
Fonctionne tous les jours de la semaine (du lundi au vendredi) à 8 heures du matin 0 0 * * * ? *
Fonctionne toutes les heures 0 0/30 * * * ? *
Fonctionne toutes les 30 minutes 0 0 0 1 * ? *
Fonctionne tous les premiers jours du mois, à minuit 0 0 16 ? * SOLEIL *
Fonctionne tous les dimanches à 16h 0 0 3,6,9,12 * * ? *
Fonctionne tous les jours à 3h00, 6h00, 9h00 et 12h00 0 0/5 9-17 ? * MON-FRI *

Fonctionne toutes les 5 minutes entre 9h et 17h en semaine

Conclusion:

Avec cela, nous avons appris ce qu’est l’expression CRON et avons également couvert tous ses aspects à l’aide d’exemples réels.

Ainsi, j’espère que vous avez apprécié et que vous avez eu une bonne idée de l’expression CRON. Prenons donc une référence de cet article et construisons vos planificateurs Apex en fonction de vos besoins.

Restez à l’écoute !!

  1. Les références:
  2. Lot Apex dans Salesforce

Apex asynchrone dans Salesforce

Vous pouvez également lire :1.
Une introduction à Salesforce CPQ2.
Salesforce CPQ et ses fonctionnalités clés3.
Libérer la puissance de l’IA : Einstein pour les développeurs4.

Révolutionner l’engagement client : le chatbot Salesforce Einstein




Source link
Quitter la version mobile