Как исправить Perl Business :: Hours Bad заказа 2 критической ошибки? - PullRequest
0 голосов
/ 13 марта 2019

У нас есть Запрос отслеживания 4.4.3.Там у нас есть автоматический скрипт, который использует Business :: Hours .Вот важная часть:

sub IsApplicable {
    my $self = shift;
    my $bhours = $self->BusinessHours;
    my $ticket = $self->TicketObj;
    my $due = $ticket->DueObj->Unix;
    my $bseconds = $bhours->between( time(), $due );
}

Иногда мы получаем ошибку в stderr:

[23406] [Wed Mar 13 07:40:09 2019] [critical]: Set::IntSpan::_copy_run_list: Bad order 2: 1552462809-1552462694
 at /usr/local/share/perl5/Business/Hours.pm line 269. (/opt/rt4/bin/../lib/RT.pm:408)
Set::IntSpan::_copy_run_list: Bad order 2: 1552462809-1552462694
 at /usr/local/share/perl5/Business/Hours.pm line 269.

Это не имеет смысла, 1552462809-1552462694 в значительной степени оценивается в 115.

Как проанализировать / исправить эту ошибку?

1 Ответ

0 голосов
/ 13 марта 2019

Согласно документации Бизнес :: Часы работы:

между START, END

Возвращает количество рабочих секунд между START и END. Оба START и END должны быть указаны в секундах с начала эпохи.

Возвращает -1, если START или END находятся за пределами расчетных рабочих часов.

Так что, вероятно, END должен быть больше, чем START

...