Process Instance is Stuck at times

I have this workflow:

I load and start it using Camunda REST API.

It is sometimes stuck on the stage as depicted in the picture - the timer. The timer is set to fire every two minutes. By stuck I mean that no log entries are written for hours, although every task prints to the log so I deduct it must not execute. The process instance might be stuck on the very first time the timer is started.

Getting it unstuck is possible by: deleting the existing process instance and starting another process instance (works some of the time), starting another process instance of the same workflow in parallel (without deleting the original instance).

There is usually one or only a couple of process instances running in parallel.

What version of Camunda are you using?
Are you using a cluster?
What are the job executor properties ?
how do you deploy the process?

I’m using Camunda 7.12 community.
No, there is no cluster.
What do you mean by the job executor properties and how do I get them?
I deploy and start the process using these commands:

curl -k -w "\n" \
-H "Accept: application/json" \
-F "deployment-name=S3 Polling Workflow" \
-F "enable-duplicate-filtering=true" \
-F "deploy-changed-only=false" \
-F "monitor_s3.bpmn=@monitor_s3.bpmn" \
https://our.camunda.url/engine-rest/deployment/create

curl -k \
-H "Content-Type: application/json" \
-X POST \
https://our.camunda.url/engine-rest/process-definition/key/Process_S3_Polling/start

The likelihood is that there is an issue with the job executor settings.
This blog post should help you understand more about it:
https://blog.camunda.com/post/2019/10/job-executor-what-is-going-on-in-my-process-engine/

Thanks!

Turns out it was the same problem as described in Process instance hung after camunda restart .

Setting jobExecutorDeploymentAware to false did the trick.