Here is the PR for reference https://github.com/apache/ofbiz-framework/pull/674/files
Please review and share your feedback!! Thanks & Regards -- Deepak Dixit ofbiz.apache.org On Mon, Oct 30, 2023 at 6:53 PM Michael Brohl <michael.br...@ecomify.de> wrote: > +1 > > Thanks Deepak, > > Michael Brohl > > ecomify GmbH - www.ecomify.de > > > Am 30.10.23 um 14:03 schrieb Deepak Dixit: > > The issue occurs when DST changes, and OFBiz fails to schedule recurring > > jobs properly. > > This is due to a condition in the PersistedServiceJob.createRecurrence > > method where it compares the next scheduled time (next) with the start > time > > (startTime) for the job. > > > > > > *Proposed Solution:*To address the issue, adding a new field named > > JobSandbox.runTimeEpoch. This field would store the UTC epoch > milliseconds > > of the runtime date. > > When scheduling or rescheduling recurring jobs, the system would use the > > UTC epoch stored in JobSandbox.runTimeEpoch for recurring job comparison. > > > > This solution ensures that the system uses a consistent, UTC-based time > for > > scheduling and rescheduling recurring jobs, even when DST changes affect > > the local time. > > > > To implement this solution, we need to do following things: > > > > - Modify the PersistedServiceJob.createRecurrence method to calculate and > > store the UTC epoch milliseconds in the JobSandbox.runTimeEpoch field. > > - Update the code responsible for polling and rescheduling jobs to use > the > > JobSandbox.runTimeEpoch field when it is set. If the field is not set, It > > would fall back to getting the runtime date to filter the jobs. > > > > By using this approach, the system should be able to handle recurring job > > scheduling more reliably, especially when DST changes are involved, as it > > ensures that all time comparisons are made in a consistent UTC format. > > > > > > Thanks & Regards > > -- > > Deepak Dixit > > ofbiz.apache.org > > > > > > On Tue, Oct 17, 2023 at 11:00 AM Deepak Dixit <dee...@apache.org> wrote: > > > >> Hi Dev, > >> > >> I wanted to draw your attention to an issue we've encountered with the > >> OFBiz job scheduler, particularly when it comes to handling Daylight > Saving > >> Time (DST) changes. > >> > >> It appears that the job scheduler fails to create new recurring jobs > when > >> DST ends, especially when the tempExprTypeId is set to FREQUENCY (e.g., > 15 > >> minutes, 30 minutes). > >> > >> Upon further investigation, we've identified that the following > condition > >> in PersistedServiceJob.createRecurrence might be the root of the issue: > >> > >> java > >> > >> if (next > startTime) { > >> // ... > >> // ... > >> } > >> > >> I'm curious to know if anyone else has encountered a similar problem or > if > >> you have any insights to share regarding this issue. > >> > >> Thanks & Regards > >> > >> -- > >> Deepak Dixit > >> ofbiz.apache.org > >> >