Camunda Job Executor expliqué : Architecture, Configuration et Dépannage

 

Camunda Job Executor expliqué (Architecture, Configuration et Dépannage)

Le Job Executor de Camunda est le cœur du traitement asynchrone dans Camunda BPM.
Si vos workflows utilisent des timers, des tâches asynchrones ou des retries, c’est ce composant qui exécute tout en arrière-plan.

Dans ce guide, vous allez apprendre :

  • L’architecture interne

  • La configuration

  • Le dépannage des problèmes courants


🔹 1. Qu’est-ce que le Job Executor ?

Le Job Executor exécute les jobs en arrière-plan, comme :

  • Événements timer

  • Service tasks async

  • Retries des jobs échoués

👉 Il fonctionne comme un pool de threads qui interroge la base de données et exécute les jobs disponibles


🔹 2. Architecture du Job Executor


Composants principaux

  1. Table ACT_RU_JOB

    • Stocke les jobs

    • Contient lock, retries, due date

  2. Thread d’acquisition

    • Récupère les jobs disponibles

    • Verrouille les jobs

  3. Thread pool

    • Exécute les jobs en parallèle


Flux d’exécution

  1. Création du job (async/timer)

  2. Stockage dans ACT_RU_JOB

  3. Acquisition et verrouillage

  4. Exécution par thread

  5. Suppression après succès


🔹 3. Job Executor en mode cluster

4
  • Chaque nœud a son Job Executor

  • Base de données partagée

  • Coordination via verrouillage DB

👉 Permet une scalabilité horizontale


🔹 4. Configuration du Job Executor

Exemple de configuration

<job-executor>
<job-acquisition name="default">
<properties>
<property name="maxJobsPerAcquisition">5</property>
<property name="waitTimeInMillis">8000</property>
<property name="lockTimeInMillis">400000</property>
</properties>
</job-acquisition>
<properties>
<property name="corePoolSize">5</property>
<property name="maxPoolSize">10</property>
</properties>
</job-executor>

Paramètres importants

ParamètreDescription
maxJobsPerAcquisitionNombre de jobs récupérés
waitTimeInMillisIntervalle de polling
lockTimeInMillisDurée du verrou
corePoolSizeThreads minimum
maxPoolSizeThreads maximum

🔹 5. Problèmes courants et dépannage

🚨 Jobs non exécutés

Symptômes :

  • Process bloqué

  • Jobs présents en base

Solution :

  • Vérifier Job Executor activé

  • Vérifier thread pool


🚨 Jobs bloqués / lents

Causes :

  • Appels API longs

  • Base de données lente

Solution :

  • Utiliser External Tasks

  • Augmenter les threads


🚨 Un seul nœud exécute tout

Solution :

jobExecutorDeploymentAware = false

🚨 Problème de retries

camunda:failedJobRetryTimeCycle="R5/PT5M"

🔹 6. Bonnes pratiques

✅ Utiliser asyncBefore
✅ External Tasks pour tâches longues
✅ Monitorer :

  • ACT_RU_JOB

  • ACT_RU_EXECUTION

✅ Optimiser :

  • Thread pool

  • Batch size


🔹 7. Résumé

  • Job Executor = moteur d’exécution async

  • Fonctionne via DB + thread pool

  • Nécessite tuning pour performance

  • Problèmes fréquents liés à DB ou config


🔹 📚 Articles recommandés

👉 Consultez aussi :


💼 Besoin d’aide avec Camunda, Jira ou les workflows d’entreprise ?

J’aide les équipes à résoudre des problèmes réels en production et à construire des systèmes évolutifs.

Services proposés :
• Conception et débogage de workflows Camunda & BPMN  
• Mise en place et optimisation de Jira / Confluence  
• Architecture backend avec Java, Spring Boot & microservices  
• Résolution des problèmes en production  

🔗 Voir les services: https://shikhanirankari.blogspot.com/p/professional-services.html  
📩 Email: ishikhanirankari@gmail.com | info@realtechnologiesindia.com

✔ Disponible pour des sessions de conseil rapides et du support projet  
✔ Réponse sous 24 heures


Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

OOPs Concepts in Java | English | Object Oriented Programming Explained

Scopes of Signal in jBPM