Significant delay between External Task polling attempts despite polling-interval: 0

Hello Team,

We are experiencing a noticeable latency in task pickup by our external workers. We need to understand why this delay exists and how to optimize it for near-real-time processing.

Environment:

  • External Worker: Camunda External Task Client Java (Spring Boot) - Version 7.21.0

  • Process Engine: Camunda Platform 7 Engine - Version 7.17.0

Configuration:

camunda:
  bpm:
    client:
      base-url: http://localhost:8082/order-orchestrator/rest
      async-response-timeout: 30000 # Long-polling timeout
      polling-interval: 0
      worker-id: spring-boot-client
      max-tasks: 10
      disable-backoff-strategy: true
      backoff:
        initTime: 500
        factor: 2.0
        maxTime: 1000

Even though we have set polling-interval: 0 and disable-backoff-strategy: true, there is a delay when no tasks are available. It seems the client waits for the full async-response-timeout (30 seconds) before sending the next request.

  1. Why is there a delay when polling-interval is set to 0?
  2. How is polling-interval handled internally when long-polling is enabled?
  3. Is there a compatibility issue between Client 7.21.0 and Engine 7.17.0 causing this behaviour?

Thank you for your help.