Страница 1 из 1
Уведомление об истечении срока напоминания
Добавлено: 31 май 2013, 07:56
ykolesnikov
Добрый день, коллеги!
Столкнулся с проблемой.
Установил в заявке состояние "Ожидает напоминания"(Pending reminder).
По истечении срока получил напоминание (уведомление).
Вновь установил это состояние с новым сроком. Теперь, по истечении срока, напоминания нет. (Ни в истории нет записи о наступлении события, ни, соответственно, уведомления о нем)
В чем может быть проблема?
Re: Уведомление об истечении срока напоминания
Добавлено: 31 май 2013, 14:44
egorbright
Может крон отпал?
Re: Уведомление об истечении срока напоминания
Добавлено: 31 май 2013, 16:35
merkushov
Проблема в том что перед отправкой некоторых уведомлений (Pending reminder в их числе), OTRS проверяет историю событий, и если уведомление уже отсылалось этому Агенту, то больше он его не получит.
Re: Уведомление об истечении срока напоминания
Добавлено: 31 май 2013, 17:10
yuri0001
Похоже на правду, Виктор, но, тогда это, ну, не баг, но что-то неправильно, т.к. я устанавливаю новый срок, ведь по жизни это вполне нормальная ситуация.
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, не позволяет вникнуть в суть предлагаемого изменения.
Да и в чем моя специфика? В возможности повторно установить этот статус с новым сроком? Я считал это функционалом по-умолчанию.
В тексте приведенного куска, похоже, просматривается история заявки и выставляется признак, что уведомление уже отсылалось?
Следовательно, надо еще проверять "PendingDate"(условно назовем ее так) "нынешнюю" с датой в истории, и, если она больше, то признак обнулять.
Это, к сожалению, выше моих сил.
Re: Уведомление об истечении срока напоминания
Добавлено: 09 июн 2013, 21:03
yuri0001
merkushov писал(а):Проблема в том что перед отправкой некоторых уведомлений (Pending reminder в их числе), OTRS проверяет историю событий, и если уведомление уже отсылалось этому Агенту, то больше он его не получит.
Я так и не знаю истинной причины - как говорит админ:" Оно само заработало", но когда заработало, то при новой, повторной, установке срока напоминания уведомление срабатывает.
А вот причину по которой, вдруг, отваливается CRON, увы, так и не знаю