Okay, here's some data...

First off, my first assumption was that PluckerDesktop would maintain your 
"Base Time", such that the Pluck of a channel could go off at 5am every day 
regardless of what else has happened.  This is clearly wrong, because I set 
them to 5am and wound up with all sorts of odd minutes in them.

I just did a Pluck, from about 18:30 to about 18:53, 24 Sept 02.

Channel 1, BBC News... is scheduled to go hourly.  It actually finished 
writing that pdb at 18:37, but isn't rescheduled until 19:47, which is an 
odd time considering the Pluck wasn't done with all the channels by then 
but was long done with the BBC.  In other words, a bit over the scheduled hour.

Channel 2 is BusinessWeek.  That file datestamp is 18:38.  That's scheduled 
to update every six hours, but it came in at 21:14.  That's significantly 
less than six hours, and it's not even close to an even multiple of six 
over the 5am it was initially set for.

Channel 3 is New York Times, timestamp 18:39.  Scheduled for every two 
hours.  Next update 19:37.  Oddly this means that the NYT will be updated 
more quickly than the BBC, even though it's supposed to take twice as long.

I have three other channels that fired off in the same general ways.

The channels that didn't come up due for this execution are all on the 
05:00 hour, but have odd minutes after them... 05:14, 05:16, etc.

Looking at the function, it seems that the time should remain constant (for 
daily events) or the appropriate hourly multiple of the initial start time 
for x-hourly ones.  I don't see an obvious problem with the code, but I do 
see a potential cause... often when a date isn't valid, you convert it to 
the current time...
     if ( ! input_date.IsValid() ) {
         input_date = wxDateTime::Now();
         wxLogDebug( "parsed_date is invalid. Converting to Now()" );
     }

My guess is that one of the update or read processes sometimes creates 
invalid wxDateTime entries, and they then get updated to the "now" and 
updated in the future based on that odd number.  Given that the function 
get_incremented_channel_due_datetime() never even touches minutes and only 
merely compares against "now" rather than setting something to it, that 
just might be the problem.

Regards
        Tony McNamara

_______________________________________________
plucker-list mailing list
[EMAIL PROTECTED]
http://lists.rubberchicken.org/mailman/listinfo/plucker-list

Reply via email to