Timer not working for previous camunda process definition versions

Hi, I want to run a timer once every 25 hours.

I set the duration as PT25H but it doesn’t seem to work.

I see that the timer is working fine on latest camunda process definition version but in older camunda process definition versions the timer is not triggered anymore. Why? Where can I change this?

Also see Deployment-Aware Job Executor

Hi @firstpostcommenter,

If I understand what you are asking for here: you want previous versions of a process definition to continue to fire the timer, after deploying a new version of the process?

If this is what you want, you should deploy the new version of the process not as a new version of the existing process, but as a new process with a unique Id.

As far as I understand it: when you deploy a new version of a process, the previous version is effectively archived - undeployed - or shadowed by the new version.

So the old versions of a process are no longer active, and timer start events in them will not fire.

Josh

Then I would have to create too many processes for each small change. Is there some kind of workaround?

I only see the latest deployment ID in the registeredPipelines of Camunda management service. Can I register older deployment IDs to solve the issue?

Why do you want previous versions to continue spawning instances?

I do not want previous versions to spawn new instances. But I want the previous instances to complete. There are already many instances waiting in the previous versions. Now I have to manually migrate them to the latest camunda process definition version so that the timer event can proceed for those process instances.

When I check the management service ManagementService (camunda BPM Javadocs 7.3.7-ee) then I only see the latest deployment ID and not the older deployment IDs. I tried to register the older deployment id manually but I get the below error
org.camunda.bpm.engine.context : ENGINE-16004 Exception while closing command context: Deployment “respective deployment ID” does not exist: deployment is null

Oh, so this is not a timer start event? It is an intermediate timer event or a boundary timer event?

Yes correct, this is for intermediate timer event. If event does not come within 1 hour then process should be completed. But in older process definitions the process instances stays open forever.