Автовыполнение задач (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 1: Строка 1:
  
 
# Задача -- бизнес-класс [[GdcAutoTask.TgdcAutoTask|TgdcAutoTask]]. Данные хранятся в таблице [[GD_AUTOTASK]].
 
# Задача -- бизнес-класс [[GdcAutoTask.TgdcAutoTask|TgdcAutoTask]]. Данные хранятся в таблице [[GD_AUTOTASK]].
# Выполнятся может: скрипт-функция, внешняя программа, архивное копирование бд.
+
# Выполняться может: скрипт-функция, внешняя программа, архивное копирование бд.
 
# Расписание (для конкретной задачи устанавливается только одно расписание вызова):
 
# Расписание (для конкретной задачи устанавливается только одно расписание вызова):
 
## Фиксированная дата. Задача будет выполнена однократно.
 
## Фиксированная дата. Задача будет выполнена однократно.
Строка 9: Строка 9:
 
# Учетная запись -- если задана, то задача выполняется только при логине под указанной учетной записью. Если нет -- под любой.
 
# Учетная запись -- если задана, то задача выполняется только при логине под указанной учетной записью. Если нет -- под любой.
 
# Задача может быть отключена.
 
# Задача может быть отключена.
# По каждой задаче ведется лог в детальной таблице [[GD_AUTOTASK_LOG]], где фиксируется запуск и завершение (успешное или ошибочное) задачи.  
+
# По каждой задаче ведется лог в детальной таблице [[GD_AUTOTASK_LOG]], где фиксируется запуск и завершение (успешное или ошибочное) задачи. Для записи в логе создается бизнес-класс TgdcAutoTaskLog.
 
## При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме.
 
## При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме.
 
# Вся подсистема работает в нити с самым низким приоритетом.
 
# Вся подсистема работает в нити с самым низким приоритетом.
Строка 15: Строка 15:
 
## Если задач для выполнения (ожидания выполнения) нет, то нить завершается.
 
## Если задач для выполнения (ожидания выполнения) нет, то нить завершается.
  
 +
'''Примечание:'''
  
'''Примечание:'''
 
# для GD_AUTOTASK_LOG тоже нужно бы создать бизнес-класс TgdcAutoTaskLog(так удобнее все увязать на форме мастер-детаил)
 
 
# форма просмотра предположительно наследована от Tgdc_frmMDHGR
 
# форма просмотра предположительно наследована от Tgdc_frmMDHGR
 
# диалоговая форма предположительно наследована от Tgdc_dlgTR
 
# диалоговая форма предположительно наследована от Tgdc_dlgTR
 
 
  
 
[[Category:Постановка]]
 
[[Category:Постановка]]

Версия 15:51, 27 апреля 2015

  1. Задача -- бизнес-класс TgdcAutoTask. Данные хранятся в таблице GD_AUTOTASK.
  2. Выполняться может: скрипт-функция, внешняя программа, архивное копирование бд.
  3. Расписание (для конкретной задачи устанавливается только одно расписание вызова):
    1. Фиксированная дата. Задача будет выполнена однократно.
    2. Ежемесячно -- целое число -30..31. 1 -- первое число месяца,... 5 -- пятое число месяца. -1 -- последний день месяца, -2 -- предпоследний день месяца и т.п.
    3. Еженедельно -- целое число. 1 -- понедельника,... 7 -- воскресенье.
  4. Временной интервал. От и до. Если задан, то задача выполняется только в указанный промежуток. Если не задан -- в любое время.
  5. Учетная запись -- если задана, то задача выполняется только при логине под указанной учетной записью. Если нет -- под любой.
  6. Задача может быть отключена.
  7. По каждой задаче ведется лог в детальной таблице GD_AUTOTASK_LOG, где фиксируется запуск и завершение (успешное или ошибочное) задачи. Для записи в логе создается бизнес-класс TgdcAutoTaskLog.
    1. При старте проверяется лог, если были запущенные задачи, но они не завершились (нет соответствующей записи в логе) или завершились с ошибкой, то выдается соответствующее предупреждение на экран. Естественно, перед выдачей предупреждения мы проверяем не работает ли система в "тихом" режиме.
  8. Вся подсистема работает в нити с самым низким приоритетом.
    1. Нить создается в самый последний момент, в последовательности действий при загрузке Гедымина.
    2. Если задач для выполнения (ожидания выполнения) нет, то нить завершается.

Примечание:

  1. форма просмотра предположительно наследована от Tgdc_frmMDHGR
  2. диалоговая форма предположительно наследована от Tgdc_dlgTR
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты