Roland,<br />
<br />
We are currently using v1.16. I have read that and it says *some* undefined behavior... but this was unexpected :) I will take some time to think about a solution.<br />
<br />
Thanks,<br />
Joseph Shin<br />
<br />
On Thu Jan 07 06:17:04 2010, ROLAND wrote: <br />
> Hi, <br />
> <br />
> On Mon Nov 02 16:21:19 2009, joeshin wrote: <br />
> > Ran into weird behavior for DST. The cron looked like 0 1 1 * * , <br />
> but <br />
> > from 1AM - 2AM, the job fired off probably 6,000 times :). I would <br />
> have <br />
> > expected one of the 2 behaviors identified in the DST section. Any <br />
> help <br />
> > would be appreciated. <br />
> <br />
> sorry for delay, the ticket slipped through somehow (and I didn't <br />
> received a <br />
> mail <br />
> in my inbox). <br />
> <br />
> Could you please tell me which version of Schedule::Cron do you use ? <br />
> <br />
> Version 0.99 fixes a serious bug concerning DST. From the man page: <br />
> <br />
> DST ISSUES <br />
> Daylight saving occurs typically twice a year: In the first <br />
> switch, one hour is skipped. Any job which which triggers in this <br />
> skipped <br />
> hour will be fired in the next hour. So, when the DST switch <br />
> goes from 2:00 to 3:00 a job would is scheduled for 2:43, then it will <br />
> be <br />
> executed at 3:43. <br />
> <br />
> For the reverse backwards switch later in the year, the <br />
> behaviour is undefined. Two possible behaviours can occur: For jobs <br />
> triggered in <br />
> short intervals, where the next execution time would fire in <br />
> the extra hour as well, the job could be executed again or skipped in <br />
> this <br />
> extra hour. Currently, running "Schedule::Cron" in "MET" would <br />
> skip the extra job, in "PST8PDT" it would execute a second time. The <br />
> rea- <br />
> son is the way how Time::ParseDate calculates epoch times for <br />
> dates given like "02:50:00 2009/10/25". Should it return the seconds <br />
> since <br />
> 1970 for this time happening 'first', or for this time in the <br />
> extra hour ? As it turns out, Time::ParseDate returns the epoch time <br />
> of <br />
> the first occurence for "PST8PDT" and for "MET" it returns the <br />
> second occurence. Unfortunately, there is no way to specify which <br />
> entry <br />
> Time::ParseDate should pick (until now). Of course, after all, <br />
> this is obviously not Time::ParseDate's fault, since a simple date <br />
> speci- <br />
> fication within the DST backswitch period is ambigious. <br />
> However, it would be nice if the parsing behaviour of Time::ParseDate <br />
> would be <br />
> consistent across time zones (a ticket has be raised for fixing <br />
> this). Then Schedule::Cron's behaviour within a DST backward switch <br />
> would be consistent as well. <br />
> <br />
> Since changing the internal algorithm which worked now for over <br />
> ten years would be too risky and I don't see any simple solution for <br />
> this right now, it is likely that this undefined behaviour will <br />
> exist for some time. Maybe some hero is coming along and will fix <br />
> this, <br />
> but this is probably not me ;-) <br />
> <br />
> Sorry for that. <br />
> <br />
> <br />
> I know, this is not a perfect solution, but at least Schedule::Cron <br />
> shouldn't <br />
> run amok anymore. Sorry for any inconvenience. <br />
> Please let me know, whether I can close the ticket (which I assume, <br />
> when you <br />
> don't veto within the next two weeks ;-) <br />
> <br />
> ...roland <br />
<br />
<br />