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