Оглавление
Введение
Мне написал один из пользователей программы и рассказал, что у них в компании принято делать предварительное оповещение пользователей о предстоящем обновлении баз. И попросил добавить меня такой механизм в обновлятор.
Я всё обдумал и пришёл к выводу, что возможность предварительного оповещения пользователей о запланированной по расписанию операции будет полезна многим.
Настройка
Средства отправки
Прежде всего у вас должны быть настроены средства отправки уведомлений либо в общих настройках программы...
... либо индивидуально в задаче расписания:
Новое уведомление
Зайдите в задачу расписания (предварительное оповещение о выполнении которой вы собираетесь настроить) и нажмите на ссылку "Ещё параметры...":
В открывшемся диалоге установите опцию "Уведомлять о предстоящей операции":
И далее нажмите на ссылку "0 уведомлений":
В открывшемся списке предварительных уведомлений для данной задачи создайте новое уведомление:
Параметры уведомления
Форма настройки уведомления выглядит вот так:
Для отправки обновлятор будет использовать средства отправки, указанные в самой задаче, либо (если их там нет) в общих настройках программы.
В качестве адресатов можно указывать как адреса почты, так и группы в telegram.
Для оформления содержимого уведомления используется язык разметки HTML. Для тех, кто не знаком с ним объясню использованные в шаблоне по умолчанию приёмы:
- конструкция <br/> указывает, что в этом месте будет перенос на
новую строку; - часть текста между конструкцией <b> и </b> будет выделена жирным.
При этом особое внимание следует обратить на имена в фигурных скобках. Обновлятор заменит их на реальные значения перед отправкой уведомления.
При редактировании мы можем переставлять или вовсе удалять такие поля. Их написание чувствительно к регистру, то есть {Operation} правильно, а вот {operation} уже нет.
Как узнать отправлялось ли уведомление
История отправки
Чтобы посмотреть историю отправки уведомления нажмите на ссылку "См. историю отправки" в самом уведомлении:
Журнал планировщика ОС
Если история отправки пустая, то второй способ разобраться запускалась ли задача на отправку уведомления и понять причины её не запуска или внезапного завершения - это включить журнал всех заданий в планировщике Windows. По умолчанию он отключён и я советую включать его, чтобы можно было всегда разобраться в проблемных ситуациях.
Чтобы включить журнал планировщика Windows заходим в "Расписание" и нажимаем кнопку "Открыть планировщик Windows":
Это можно сделать также и из панели управления Windows (раздел администрирование).
Здесь находим и нажимаем пункт "Включить журнал всех заданий":
Готово! Теперь мы сможем просматривать историю работы любой задачи в планировщике.
Например, выделим одну из задач обновлятора с уведомлением об операции:
Как это работает
Предположим, что мы для задачи "архивация" настроили 2 уведомления: за 30 минут на почту и за 10 минут в телеграмм:
Тогда при сохранении расписания в планировщике системы в дополнение к задаче для операции будет создано 2 дополнительные задачи для запуска уведомления:
И если сама задача с операцией у нас настроена на запуск в 15-00, то задачи с уведомлением настроены соответственно на 14-30 и 14-50.
При этом задача с операцией запускает непосредственно исполняемый файл обновлятора Updater1C.exe, а задачи с уведомлением запускают другой исполняемый файл Updater1C.SchedulerNotifier.exe (при необходимости добавьте этот файл в список исключения антивируса).
Как для теста запустить выполнение уведомления вручную?
Для этого настройте уведомления, сохраните расписание.
Далее откройте планировщик Windows:
И найдите здесь задачу, соответствующую нужному уведомлению:
Нажмите на задаче правой кнопкой и запустите её выполнение:
Проконтролируйте результат.