You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Quartz jdbcjobstore to manage a set of distributed jobs within a java application. I am having a problem when I deploy code that contains a new org.quartz.Job implementation.
When I am deploying a new version of my application, I will do a canary deploy, where the new tag of my code will run alongside the old version for a short while. When the new version of my code starts running, it will notice that a desired Job is not present in the Quartz scheduler, and schedule it.
However, if I still have old versions of my application running, they will sometimes attempt to pick up this new job, but throw a ClassNotFoundException because the new Job's class is not present in the old tag of my application. This will put the job into the ERROR state, and it will stop running.
Is there any way to indicate to Quartz that the old instances should not attempt to run the new Job?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
I am using Quartz jdbcjobstore to manage a set of distributed jobs within a java application. I am having a problem when I deploy code that contains a new
org.quartz.Jobimplementation.When I am deploying a new version of my application, I will do a canary deploy, where the new tag of my code will run alongside the old version for a short while. When the new version of my code starts running, it will notice that a desired Job is not present in the Quartz scheduler, and schedule it.
However, if I still have old versions of my application running, they will sometimes attempt to pick up this new job, but throw a ClassNotFoundException because the new Job's class is not present in the old tag of my application. This will put the job into the ERROR state, and it will stop running.
Is there any way to indicate to Quartz that the old instances should not attempt to run the new Job?
All reactions