4.7.3.2.1. Регистрация задания
Задания регистрируются в таблице SYS_SCHEDULED_TASK базы данных, соответствующей сущности ScheduledTask. Для работы с заданиями существуют экраны просмотра и редактирования, доступные через меню Администрирование → Назначенные задания.
Рассмотрим атрибуты задания:
-  
Defined by - каким программным объектом реализуется задание. Возможные значения:
-  
Bean - задание реализуется методом бина Spring. Дополнительные атрибуты:
-  
Bean name - имя бина.
WarningБин отображается в списке и доступен для выбора, только если он объявлен в модуле core и у него есть интерфейс, содержащий подходящие для вызова из задания методы. Бины без интерфейса не поддерживаются.
 -  
Method name - метод интерфейса бина для выполнения. Метод должен либо не иметь параметров, либо иметь все параметры типа
String. Тип результата должен быть либоvoid, либоString. В последнем случае результат выполнения будет сохранен в таблице выполнений (см. Log finish ниже). -  
Method parameters - параметры выбранного метода. Поддерживаются только параметры типа
String. 
 -  
 -  
Class - задание представляет собой класс, реализующий интерфейс
java.util.concurrent.Callable. Класс должен иметь открытый конструктор без параметров. Дополнительные атрибуты:-  
Class name - имя класса
 
 -  
 -  
Script - задание представляет собой скрипт Groovy. Скрипт выполняется через
Scripting.runGroovyScript(). Дополнительные атрибуты:-  
Script name - имя скрипта.
 
 -  
 
 -  
 -  
User name - имя пользователя, от имени которого будет будет выполняться задание. Если не задано, то задание будет выполнено от имени пользователя, указанного в свойстве приложения
cuba.jmxUserLogin. -  
Singleton - признак, является ли задание синглтоном, т.е. выполняющимся только на одном сервере системы.
 -  
Scheduling type - способ планирования задачи:
-  
Cron - с помощью Cron-выражения, представляющего собой последовательность из шести полей, разделенных пробелами: секунда, минута, час, день, месяц, день недели. Месяц и день недели могут быть представлены первыми тремя буквами английского названия. Примеры выражений:
-  
0 0 * * * * - начало каждого часа каждого дня.
 -  
*/10 * * * * * - каждые 10 секунд.
 -  
0 0 8-10 * * * - в 8, 9 и 10 часов каждого дня.
 -  
0 0/30 8-10 * * * - 8:00, 8:30, 9:00, 9:30 и 10 часов каждого дня.
 -  
0 0 9-17 * * MON-FRI - каждый час с 9 до 17 по рабочим дням.
 -  
0 0 0 7 1 ? - каждое Рождество в полночь.
 
 -  
 -  
Period - с помощью интервала между выполнениями.
 -  
Fixed Delay - задача будет запускаться с указанной в Period задержкой после окончания предыдущего выполнения.
 
 -  
 -  
Period - период или задержка запуска задания в секундах если Scheduling type установлен в Period или Fixed Delay.
 -  
Timeout - время в секундах, по истечении которого считается, что задание закончило выполнение, независимо от того, есть ли информация о завершении задания, или нет. Если timeout не задан явно, он принимается равным 3 часам.
 -  
Start date - дата/время первого запуска для
Scheduling type = Period. Если не установлено, то задание запускается сразу при старте сервера. Если установлено, то задание запускается в моментstartDate + period * N, где N - целое число.Start dateимеет смысл указывать только для "нечастых" заданий - раз в 1 час, 1 сутки и т.п. -  
Time frame - в случае заданного
Start dateилиCron expressionопределяет временное окно в секундах, в течение которого будет запущено задание, если времяstartDate + period * Nпрошло. Если Time frame не задано явно, оно принимается равнымperiod / 2.Если
Start dateне указано, тоTime frameне принимается во внимание, т.е. задание будет запущено в любое время после прохождения промежутка времениPeriodпосле предыдущего выполнения задания. -  
Permitted servers - список перечисленных через запятую идентификаторов серверов, на которых возможен запуск данного задания. Если список не задан, то задание может выполняться на любом сервере.
Для синглтон-заданий порядок перечисления серверов указывает их приоритет - первый имеет больший приоритет чем последний. Сервер с большим приоритетом перехватит выполнение синглтона следующим образом: если сервер с большим приоритетом обнаруживает, что предыдущий раз задание было выполнено сервером с меньшим приоритетом, то он запускает задание независимо от того, пройден ли
Periodили нет. 
|  
       
        Warning 
         |  
      
       Приоритет серверов работает только в случае Scheduling type равного   |  
    
-  
Log start - признак регистрации факта запуска задания в таблице
SYS_SCHEDULED_EXECUTION, соответствующей сущностиScheduledExecution.Если задание является синглтоном, то в текущей реализации регистрация факта запуска производится в любом случае, независимо от данного признака.
 -  
Log finish - признак регистрации факта завершения задания в таблице
SYS_SCHEDULED_EXECUTION, соответствующей сущностиScheduledExecution.Если задание является синглтоном, то в текущей реализации регистрация факта завершения производится в любом случае, независимо от данного признака.
 -  
Description - произвольное текстовое описание задания.
 
Задание также имеет признак активности, который устанавливается в экране списка заданий. Неактивные задания не запускаются.