David, I will review the data on date_due field.
Thanks!! for your time ! LOL time.. ;-) tomorrow --Larry 2016-04-28 0:35 GMT-03:00 David Cook <dc...@prosentient.com.au>: > Hi Larry, > > > > I find time fascinating, so happy to help : ). > > > > Thanks for that pastebin. That’s really helpful. > > > > We can see the problem is with the following call: > > > > $calendar->days_between( dt_from_string($data->{date_due}),$date_to_run ); > > > > If I follow correctly, $date_to_run should be the time when you run the > script in America/Santiago time. > > > > $data->{date_due} will be from the database… probably the issues table I > think… and I think that’s looking OK, since the following line appears in > the debugger: > > > > Koha::Calendar::days_between('Koha::Calendar=HASH(0x65dcf80)', > 'DateTime=HASH(0x6507b38)', 'DateTime=HASH(0x64e7848)') > > > > We’d have an error earlier if those dates were the ones causing problems… > so I think they’re OK since they’ve been created into objects as evidenced > above. > > > > However… 'DateTime=HASH(0x6507b38)' is cloned in > Koha::Calendar::days_between() and has Koha::Calendar::is_holiday() run on > it… > > > > -- > > > > I have an urgent matter now, but that’s part of the way there. I’m > thinking the problem is with the “date_due” from one of the overdue items! > Possibly something from September if the debug message is correct… > > > > > > David Cook > > Systems Librarian > > > > Prosentient Systems > > 72/330 Wattle St > > Ultimo, NSW 2007 > > > > Office: 02 9212 0899 > > Direct: 02 8005 0595 > > > > *From:* Larry Letelier [mailto:la...@opengeek.cl] > *Sent:* Thursday, 28 April 2016 1:05 PM > *To:* David Cook <dc...@prosentient.com.au> > *Cc:* koha-devel@lists.koha-community.org > *Subject:* Re: [Koha-devel] Invalid local time for date in time zone: > America/Santiago > > > > Hi David, > > > > Thanks for you reply, > > > > yes your are right, Chile abolished dst, we have a minister with many > earthquakes in him head. > > So, > > > > Here is the “perl -d overdue_notices.pl -t" using "n": > > http://pastebin.com/ZxHkNCK3 > > > > If i run again : > > > > perl overdue_notices.pl -t > > Invalid local time for date in time zone: America/Santiago > > > > Thanks in advance guys, > > > > > *-- Larry Letelier N.* > > *F: **+56 2 3205 2737* > > *F: * > *+56 9 7589 6842* > > > > 2016-04-27 23:53 GMT-03:00 David Cook <dc...@prosentient.com.au>: > > Oh, that’s interesting. > > > > I’ve seen this happen on other Perl projects during daylight savings time > changes. > > > > For instance, try the following Perl code: > > > > use DateTime; > > my $dt = DateTime->new( > > year => 2015, > > month => 10, > > day => 4, > > hour => 2, > > minute => 0, > > second => 0, > > time_zone => 'Australia/Sydney', > > ); > > > > You’ll get the message: > > > > “Invalid local time for date in time zone: Australia/Sydney” > > > > If I recall correctly, it’s because 4 October 2015 2:00am Australia/Sydney > didn’t exist. When that time was reached, the clock actually skipped > forward, and it became 4 October 2015 3:00am Australia/Sydney. In effect, > local time went from 1:59:59 to 3:00:00. 2:00:00 through 2:59:59 never > existed. Fascinating, no? > > > > Wikipedia says that Chile stopped observing DST in 2015: > https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_Americas#Chile. > However, I’m guessing that perhaps your server/the Perl module doesn’t know > that? > > > > “Chile currently observes Daylight Saving Time (DST). Instead of turning > the clocks back one hour on Sunday, April 26, 2015 as previously planned, > the Chilean Government has decided to make no further changes to the clock > in future years.” ( > http://www.timeanddate.com/news/time/chile-abolishes-dst-2015.html). > > > > Hmm… I don’t know what date is the problem… > > > > Could you run “perl -d overdue_notices.pl -t" again, but use “n” instead > of “c”? That way, you’ll be able to see what exact call is generating this > error. > > > > I’m guessing it might be one of the lines: > > > > my $today = DateTime->now(time_zone => C4::Context->tz ); > > > > But that’s just a guess. What happens if you try running your overdues > again? You might have had the misfortune of the overdues just running at > the wrong time on the wrong day. > > > > Curious to hear how you go! > > > > David Cook > > Systems Librarian > > > > Prosentient Systems > > 72/330 Wattle St > > Ultimo, NSW 2007 > > > > Office: 02 9212 0899 > > Direct: 02 8005 0595 > > > > *From:* koha-devel-boun...@lists.koha-community.org [mailto: > koha-devel-boun...@lists.koha-community.org] *On Behalf Of *Larry Letelier > *Sent:* Wednesday, 27 April 2016 3:09 PM > *To:* koha-devel@lists.koha-community.org > *Subject:* [Koha-devel] Invalid local time for date in time zone: > America/Santiago > > > > Hi people, > > > > We have a 'little' issue with the overdue aka notifications process. > > > > # pwd > > /usr/share/koha/bin/cronjobs > > > > # ./overdue_notices.pl -t > > Invalid local time for date in time zone: America/Santiago > > > > perl -d overdue_notices.pl -t > > > > Loading DB routines from perl5db.pl version 1.33 > > Editor support available. > > > > Enter h or `h h' for help, or `man perldebug' for more help. > > > > main::(overdue_notices.pl:278): my $dbh = C4::Context->dbh(); > > DB<1> c > > > > Invalid local time for date in time zone: America/Santiago > > > > at /usr/share/perl5/DateTime/TimeZone.pm line 198 > > > DateTime::TimeZone::_span_for_datetime('DateTime::TimeZone::America::Santiago=HASH(0x60cfce8)', > 'local', 'DateTime=HASH(0x617e938)') called at > /usr/share/perl5/DateTime/TimeZone.pm line 157 > > > DateTime::TimeZone::offset_for_local_datetime('DateTime::TimeZone::America::Santiago=HASH(0x60cfce8)', > 'DateTime=HASH(0x617e938)') called at /usr/lib/perl5/DateTime.pm line 930 > > DateTime::_offset_for_local_datetime('DateTime=HASH(0x617e938)') > called at /usr/lib/perl5/DateTime.pm line 375 > > DateTime::_calc_utc_rd('DateTime=HASH(0x617e938)') called at > /usr/lib/perl5/DateTime.pm line 263 > > DateTime::_new('DateTime', 'hour', 20, 'second', 0, 'month', 9, > 'locale', 'DateTime::Locale::en_US=HASH(0x1e7eac8)', ...) called at > /usr/lib/perl5/DateTime.pm line 299 > > DateTime::_new_from_self('DateTime=HASH(0x6183808)', 'hour', 0, > 'minute', 0, 'second', 0, 'month', 9, ...) called at > /usr/lib/perl5/DateTime.pm line 1933 > > DateTime::truncate(undef, 'to', 'day') called at > /usr/share/koha/lib/Koha/Calendar.pm line 214 > > Koha::Calendar::is_holiday('Koha::Calendar=HASH(0x619bc20)', > 'DateTime=HASH(0x6192ad0)') called at /usr/share/koha/lib/Koha/Calendar.pm > line 290 > > Koha::Calendar::days_between('Koha::Calendar=HASH(0x619bc20)', > 'DateTime=HASH(0x61a5b90)', 'DateTime=HASH(0x60a7ce0)') called at > overdue_notices.pl line 538 > > Debugged program terminated. Use q to quit or R to restart, > > use o inhibit_exit to avoid stopping after program termination, > > h q, h R or h o to get additional info. > > DB<1> q > > > > This is a Koha 3.2008000 > > > > In MySQL and in enviroment, tzdata, TZ='America/Santiago' is set. > > > > > > Any idea with this ? > > > > Thanks for read this, > > -Larry > > > > >
_______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/