Сервис управления задачами процесса
Описание
ru.bgcrm.core.task.process.ProcessTaskService
Сервис зарегистрирован в глобальном контексте. Соответственно может быть вызван из контекста. |
public class Test {
ProcessTaskService processTaskService = ServerContext.lookup(ProcessTaskService.class);
}
Функционал
-
Удобное управление задачами в рамках конкретного типа процесса
-
Возможность отображения задач (запланированных и исполненных) в рамках конкретного процесса
-
Наличие статусов задач (ожидание, выполнение, выполнено, ошибка выполнения, отменено)
-
Возможность настраивать количество попыток выполнения задачи
-
Гарантия единственности выполнения задачи в рамках нескольких инстансов ерпа
-
Возможность работы раннера задач без планировщика
-
Интеграция задач с конструктором автоматизаций
Методы
ProcessTaskService
-
fun getById(id: Int): ProcessTask
-
fun searchProcessTasks(request: ProcessTaskSearchRequest, page: Page?): SearchResult<ProcessTask>
-
fun findForRun(): ProcessTask?
-
fun create(task: CreateProcessTaskRequest): ProcessTask
-
fun handle(id: Int)
-
fun complete(id: Int)
-
fun error(id: Int, message: String)
-
fun cancel(id: Int): ProcessTask
Модели
ProcessTask
Field | Type | Default | Description |
---|---|---|---|
id |
Int |
Id задачи процесса |
|
processId |
Int |
Id процесса |
|
task |
Задача |
||
config |
String? |
Конфигурация задачи |
|
scheduledTime |
Date |
Запланированное время выполнения задачи |
|
executedTime |
Date? |
Время выполнения задачи |
|
status |
Статус |
||
retries |
Int |
0 |
Попытки выполнения задачи |
result |
String? |
Результат выполнения задач |
|
maxRetries |
Int |
0 |
Максимальное количество попыток |
cancellable |
Boolean |
Можно отменить |
CreateProcessTaskRequest
Field | Type | Description |
---|---|---|
processId |
Int |
Id процесса |
task |
Задача |
|
config |
String? |
Конфигурация задачи |
scheduledTime |
Date |
Запланированное время выполнения задачи |
maxRetries |
Int |
Максимальное количество попыток |
ProcessTaskSearchRequest
Field | Type | Description |
---|---|---|
processId |
Int? |
ID процесса |
taskId |
Int? |
ID задачи |
statuses |
Set<TaskStatus>? |
Статусы |
scheduledTime |
Period? |
Период времени планирования |
executedTime |
Period? |
Период времени выполнения |
cancellable |
Boolean? |
Отменяемая задача |