Each node should hold no state.
All state is in the DB - so no matter how many clusters you have there will only ever be one job that’s waiting to fired.
So it will never run more than once.
I have another related question. How is this job identified? I.e. how does the engine decide whether it’s the same timer or not?
If I deploy two process models with a timer start event, how will the engine know that these are two different models? Or, if I deploy a newer version of an existing model, how will the engine know that it’s the same model and hence only one instance per hour should be started?
I’d assume it’s done based on the process model key + timer event id, but it’s just my assumption and not knowlege. Do you know it for sure?