Автовыполнение задач (постановка)
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) м |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | # Задача -- бизнес-класс [[GdcAutoTask.TgdcAutoTask|TgdcAutoTask]]. Данные хранятся в таблице [[GD_AUTOTASK]]. | + | # Задача -- бизнес-класс [[GdcAutoTask.TgdcAutoTask|TgdcAutoTask]]. Данные хранятся в таблице [[GD_AUTOTASK]]. Форма просмотра предположительно наследована от [[gdc_frmMDHGR_unit.Tgdc_frmMDHGR|Tgdc_frmMDHGR]]. Диалоговая форма предположительно наследована от [[gdc_dlgTR_unit.Tgdc_dlgTR|Tgdc_dlgTR]]. |
# Выполняться может: скрипт-функция, внешняя программа, архивное копирование бд. | # Выполняться может: скрипт-функция, внешняя программа, архивное копирование бд. | ||
# Расписание (для конкретной задачи устанавливается только одно расписание вызова): | # Расписание (для конкретной задачи устанавливается только одно расписание вызова): | ||
| Строка 11: | Строка 11: | ||
# По каждой задаче ведется лог в детальной таблице [[GD_AUTOTASK_LOG]], где фиксируется запуск и завершение (успешное или ошибочное) задачи. Для записи в логе создается бизнес-класс TgdcAutoTaskLog. | # По каждой задаче ведется лог в детальной таблице [[GD_AUTOTASK_LOG]], где фиксируется запуск и завершение (успешное или ошибочное) задачи. Для записи в логе создается бизнес-класс TgdcAutoTaskLog. | ||
## При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме. | ## При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме. | ||
| − | # Вся подсистема работает в нити | + | # Вся подсистема работает в нити, наследованной от [[gdMessagedThread.TgdMessagedThread|TgdMessagedThread]]. |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
[[Category:Постановка]] | [[Category:Постановка]] | ||
Версия 12:14, 11 мая 2015
- Задача -- бизнес-класс TgdcAutoTask. Данные хранятся в таблице GD_AUTOTASK. Форма просмотра предположительно наследована от Tgdc_frmMDHGR. Диалоговая форма предположительно наследована от Tgdc_dlgTR.
- Выполняться может: скрипт-функция, внешняя программа, архивное копирование бд.
- Расписание (для конкретной задачи устанавливается только одно расписание вызова):
- Фиксированная дата. Задача будет выполнена однократно.
- Ежемесячно -- целое число -30..31. 1 -- первое число месяца,... 5 -- пятое число месяца. -1 -- последний день месяца, -2 -- предпоследний день месяца и т.п.
- Еженедельно -- целое число. 1 -- понедельника,... 7 -- воскресенье.
- Временной интервал. От и до. Если задан, то задача выполняется только в указанный промежуток. Если не задан -- в любое время.
- Учетная запись -- если задана, то задача выполняется только при логине под указанной учетной записью. Если нет -- под любой.
- Задача может быть отключена.
- По каждой задаче ведется лог в детальной таблице GD_AUTOTASK_LOG, где фиксируется запуск и завершение (успешное или ошибочное) задачи. Для записи в логе создается бизнес-класс TgdcAutoTaskLog.
- При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме.
- Вся подсистема работает в нити, наследованной от TgdMessagedThread.