Job Queue should stop trying if jobs fail several times
Description
The job api never stops trying to complete jobs in the job queue. There should be a per job type configurable limit how often the api should try execute the same job. The Api should set the state to failed in the database. Maybe also put the fail Stacktrace in to the Database?
There should be a GUI which lists all failed jobs.
Environment
None
Activity
Sebastian Hofmann
May 4, 2023 at 12:55 PM
The property MCR.QueuedJob.autostart defined if the jobqueue was started with the application or when the first job is added. If deactivated it had some weired effects e.G. if the application restarted it maybe had jobs to run, but the queue was not jet startet, because there was no job added since restart. To deactivate a queue you can use MCR.QueuedJob.activated.
Sebastian Hofmann
May 4, 2023 at 12:52 PM
(edited)
The property MCR.QueuedJob.preFetchAmount is removed because the queue now polls jobs one by one from the database. Polling the jobs one by one decreases the complexity and allows in theory mutliple clients using the same database, which would not work with the old implementation which cached the jobs.
Sebastian Hofmann
May 4, 2023 at 12:50 PM
The property MCR.QueuedJob.SingleQueue is removed because the single queue feature is removed. It was used to have only one Jobqueue which was shared by all Job Actions. This leads to jobs of different actions blocking each other. Also it was probably never used by anyone and had some extra code, which increased complexity!
The job api never stops trying to complete jobs in the job queue. There should be a per job type configurable limit how often the api should try execute the same job. The Api should set the state to failed in the database. Maybe also put the fail Stacktrace in to the Database?
There should be a GUI which lists all failed jobs.