Administration
20 Juillet 2026
Au-delà des Flows planifiés, Salesforce exécute une grande partie de sa logique lourde via des jobs Apex asynchrones : traitements batch nocturnes, envois de masse, recalculs de partage, intégrations planifiées. Un administrateur n'a pas besoin de coder ces classes, mais doit savoir les planifier, les surveiller et diagnostiquer leurs échecs.
Les quatre types de traitement asynchrone Apex
- Batch Apex : traite de très gros volumes d'enregistrements par lots (jusqu'à 50 millions), en découpant le travail en « chunks » de 200 enregistrements par défaut. Utilisé pour les recalculs de masse, les nettoyages de données, les migrations.
- Queueable Apex : exécution asynchrone unitaire avec possibilité de chaînage (un job queueable peut en enchaîner un autre), pour des traitements complexes qui dépassent les limites d'une transaction synchrone.
- Scheduled Apex : exécute une classe implémentant l'interface
Schedulable à une fréquence définie via une expression cron, typiquement pour déclencher un Batch Apex chaque nuit.
- Future Methods : méthode annotée
@future, exécutée de façon asynchrone et différée, notamment utilisée pour les appels de callout HTTP depuis un contexte trigger.
Planifier un job depuis l'interface
Pour un Batch ou Scheduled Apex déjà développé, un administrateur peut le planifier sans écrire de code via Configuration > Jobs Apex planifiés > Planifier Apex :
- Sélectionnez la classe Apex implémentant
Schedulable dans la liste (elle doit avoir été déployée au préalable par un développeur).
- Choisissez la fréquence : quotidienne, hebdomadaire ou mensuelle, avec une heure précise d'exécution.
- Définissez une date de fin si le job ne doit pas s'exécuter indéfiniment (utile pour des traitements temporaires liés à un projet).
- Validez : le job apparaît alors dans la liste des « Jobs planifiés » avec sa prochaine date d'exécution.
Une organisation Salesforce est limitée à 100 jobs planifiés simultanés (selon l'édition) ; au-delà, il faut consolider plusieurs traitements dans une seule classe orchestratrice plutôt que de multiplier les planifications distinctes.
Surveiller l'exécution
Deux écrans natifs permettent le suivi :
- Configuration > Jobs Apex : liste tous les jobs asynchrones en cours ou récemment terminés (Batch, Queueable, Future), avec leur statut (En cours d'exécution, Terminé, Échoué, Abandonné), le nombre de lots traités et les éventuelles erreurs.
- Configuration > Jobs Apex planifiés : liste uniquement les jobs planifiés à venir, avec la possibilité de les annuler directement (bouton « Supprimer »).
Pour un Batch Apex, chaque lot en échec génère une ligne consultable avec le message d'erreur exact ; un job peut se terminer avec le statut « Terminé » même si certains lots individuels ont échoué — vérifiez toujours le détail, pas seulement le statut global.
Un job planifié qui échoue silencieusement pendant des semaines est un scénario classique et coûteux : un recalcul de scoring ou une synchronisation qui ne tourne plus, sans que personne ne s'en aperçoive avant qu'un utilisateur ne remarque des données incohérentes. Configurez systématiquement une notification d'échec (e-mail à l'administrateur ou entrée de log surveillée) plutôt que de compter sur une vérification manuelle régulière.
Limites de gouverneur à connaître
- Un maximum de 5 jobs Batch Apex actifs simultanément par organisation (en file d'attente ou en cours) — au-delà, la planification échoue et doit être retentée plus tard.
- Les Queueable Apex peuvent être chaînés, mais avec une profondeur limitée selon le contexte (généralement jusqu'à 5 niveaux dans un contexte synchrone, illimité en asynchrone pur avec certaines restrictions).
- Chaque exécution consomme le quota quotidien d'heures de traitement asynchrone de l'organisation, visible dans Configuration > Limites de l'entreprise — un point à surveiller si plusieurs intégrations lourdes tournent en parallèle.
Bonnes pratiques pour un administrateur
- Documentez chaque job planifié (objectif métier, fréquence, propriétaire fonctionnel) dans un registre partagé, car ces classes sont invisibles dans l'usage quotidien de l'application.
- Espacez les horaires de plusieurs jobs lourds pour éviter les conflits de ressources et le dépassement de la limite des 5 batchs simultanés.
- Avant toute mise en production d'un nouveau batch, demandez au développeur le volume de données traité et la fréquence prévue pour anticiper l'impact sur les limites globales de l'org.
- Revoyez périodiquement la liste des jobs planifiés actifs : des traitements liés à des projets terminés depuis longtemps continuent parfois de tourner inutilement.
Sans écrire de code, un administrateur Salesforce averti peut piloter efficacement l'ensemble des traitements asynchrones de son organisation, à condition de connaître les bons écrans de suivi et les limites structurelles à respecter.
Besoin d'aide sur ce sujet ?
Notre équipe DevToSpace accompagne vos projets Salesforce, de l'administration à l'intégration Data Cloud / Marketing Cloud Next.
Parler à un expert