Автовыполнение задач (постановка)
Материал из GedeminWiki
(Различия между версиями)
| Строка 17: | Строка 17: | ||
'''Примечание:''' | '''Примечание:''' | ||
| − | # для GD_AUTOTASK_LOG тоже нужно бы создать бизнес-класс(так удобнее все увязать на форме мастер-детаил) | + | # для GD_AUTOTASK_LOG тоже нужно бы создать бизнес-класс TgdcAutoTaskLog(так удобнее все увязать на форме мастер-детаил) |
# форма просмотра предположительно наследована от Tgdc_frmMDHGR | # форма просмотра предположительно наследована от Tgdc_frmMDHGR | ||
# диалоговая форма предположительно наследована от Tgdc_dlgTR | # диалоговая форма предположительно наследована от Tgdc_dlgTR | ||
Версия 15:45, 27 апреля 2015
- Задача -- бизнес-класс TgdcAutoTask. Данные хранятся в таблице GD_AUTOTASK.
- Выполнятся может: скрипт-функция, внешняя программа, архивное копирование бд.
- Расписание (для конкретной задачи устанавливается только одно расписание вызова):
- Фиксированная дата. Задача будет выполнена однократно.
- Ежемесячно -- целое число -30..31. 1 -- первое число месяца,... 5 -- пятое число месяца. -1 -- последний день месяца, -2 -- предпоследний день месяца и т.п.
- Еженедельно -- целое число. 1 -- понедельника,... 7 -- воскресенье.
- Временной интервал. От и до. Если задан, то задача выполняется только в указанный промежуток. Если не задан -- в любое время.
- Учетная запись -- если задана, то задача выполняется только при логине под указанной учетной записью. Если нет -- под любой.
- Задача может быть отключена.
- По каждой задаче ведется лог в детальной таблице GD_AUTOTASK_LOG, где фиксируется запуск и завершение (успешное или ошибочное) задачи.
- При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме.
- Вся подсистема работает в нити с самым низким приоритетом.
- Нить создается в самый последний момент, в последовательности действий при загрузке Гедымина.
- Если задач для выполнения (ожидания выполнения) нет, то нить завершается.
Примечание:
- для GD_AUTOTASK_LOG тоже нужно бы создать бизнес-класс TgdcAutoTaskLog(так удобнее все увязать на форме мастер-детаил)
- форма просмотра предположительно наследована от Tgdc_frmMDHGR
- диалоговая форма предположительно наследована от Tgdc_dlgTR