Страница 1 из 1

Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 07:56
ykolesnikov
Добрый день, коллеги!
Столкнулся с проблемой.
Установил в заявке состояние "Ожидает напоминания"(Pending reminder).
По истечении срока получил напоминание (уведомление).
Вновь установил это состояние с новым сроком. Теперь, по истечении срока, напоминания нет. (Ни в истории нет записи о наступлении события, ни, соответственно, уведомления о нем)
В чем может быть проблема? :cry:

Re: Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 14:44
egorbright
Может крон отпал?

Re: Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 16:35
merkushov
Проблема в том что перед отправкой некоторых уведомлений (Pending reminder в их числе), OTRS проверяет историю событий, и если уведомление уже отсылалось этому Агенту, то больше он его не получит.

Re: Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 17:10
yuri0001
Похоже на правду, Виктор, но, тогда это, ну, не баг, но что-то неправильно, т.к. я устанавливаю новый срок, ведь по жизни это вполне нормальная ситуация. :evil:

Re: Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 17:37
alexus
Вообще-то OTRS шлет уведомления о Pending reminder так, как настроено в кроне, например так:

Код: Выделить всё

45 */2 * * *    $HOME/bin/otrs.PendingJobs.pl >> /dev/null

Re: Уведомление об истечении срока напоминания

Добавлено: 31 май 2013, 18:14
yuri0001
Именно так и настроено, до последнего знака. Один раз сработало, дальше тишина, хотя дважды менял срок. в Dashboard, в соответствующем разделе строка заявки появляется, в предстоящих событиях тоже, а вот уведомления нет и в истории тишина.

Re: Уведомление об истечении срока напоминания

Добавлено: 03 июн 2013, 09:32
merkushov
В скрипте bin/otrs.PendingJobs.pl нужно аккуратно переписать вот этот кусок, с учётом вашей специфики

Код: Выделить всё

            # get ticket history
            my @Lines = $CommonObject{TicketObject}->HistoryGet(
                TicketID => $Ticket{TicketID},
                UserID   => 1,
            );

            my $Sent = 0;
            for my $Line (@Lines) {
                if (
                    $Line->{Name}          =~ /PendingReminder/
                    && $Line->{Name}       =~ /\Q$Preferences{UserEmail}\E/i
                    && $Line->{CreateTime} =~ /$Year-$Month-$Day/
                    )
                {
                    $Sent = 1;
                }
            }

            next USERID if $Sent;

Re: Уведомление об истечении срока напоминания

Добавлено: 03 июн 2013, 10:01
ykolesnikov
Спасибо за ответ, Виктор!
К сожалению, мои знания, вернее незнание Perl, не позволяет вникнуть в суть предлагаемого изменения.
Да и в чем моя специфика? В возможности повторно установить этот статус с новым сроком? Я считал это функционалом по-умолчанию. :oops:
В тексте приведенного куска, похоже, просматривается история заявки и выставляется признак, что уведомление уже отсылалось?
Следовательно, надо еще проверять "PendingDate"(условно назовем ее так) "нынешнюю" с датой в истории, и, если она больше, то признак обнулять.
Это, к сожалению, выше моих сил. :cry:

Re: Уведомление об истечении срока напоминания

Добавлено: 09 июн 2013, 21:03
yuri0001
merkushov писал(а):Проблема в том что перед отправкой некоторых уведомлений (Pending reminder в их числе), OTRS проверяет историю событий, и если уведомление уже отсылалось этому Агенту, то больше он его не получит.
Я так и не знаю истинной причины - как говорит админ:" Оно само заработало", но когда заработало, то при новой, повторной, установке срока напоминания уведомление срабатывает. :oops:
А вот причину по которой, вдруг, отваливается CRON, увы, так и не знаю :twisted: