Hi there,
Since upgrading from version 1 of ultimate cron to version 2.3, we seem to be experiencing stopped jobs, where sometimes all jobs are listed as behind schedule, and no jobs have run since that time. We're using the background process with poormans cron option and it looks like the problem is occurring specifically with this functionality of the module
Investigating this further, it appears that the background process ultimate_cron_poorman_background_process_legacy was in a locked state with the start timestamp matching the time the last cron jobs ran. Looking at the code, it looks like all jobs will fail while this background task is in a locked state.
I believe background tasks would normally be unlocked by the background_process_cron() function in the background process module which is supposed to clear tasks still locked after a period of time, but as the running of this job is being handled by ultimate cron, it won't be run until the ultimate_cron_poorman_background_process_legacy background task is unlocked, causing a deadlock between these functions and preventing jobs from running again until this job is unlocked.
A possible solution might be to run background_process_cron() separately outside the background process launcher to avoid this but I don't have deep enough knowledge of the modules to develop a pactch.
If you need further information to reproduce this please let me know.
Kind regards,
Tom