Java-класс GoProcessDto
Структура записи для продвижения процесса по пути исполнения стрелочек.
Чтобы продвинуть процесс по стрелочкам, нужно просто создать эту запись в БД, и механизм продвижения всё сделает сам.
При создании этой записи нужно заполнить только следующие поля.
- .id - случайным идентификатором из Ids.generate()
- .boProcessId, .boiId, .initialSource - параметры запуска - они прилетят в метод: BoiProcessContextRegister#go(...)
- .createTime = now() - этому полю нужно присвоить текущее время - оно определяют очередь исполнения
Заполнив эти поля можно вызвать mongoAccess.goProcess().insertOne(dto);
| Поле | Тип | Описание |
|---|---|---|
| id | ObjectId | Идентификатор записи |
| boProcessId | ObjectId | Идентификатор продвигаемого процесса: BoProcessDto.id |
| boiId | ObjectId | Идентификатор инстанции БО-как-процесс. В рамках этого поля процесс должен продвигаться только один в текущий момент времени, иначе возможно что один и тот же процесс будет исполняться параллельно дважды одновременно. |
| initialSource | InitialSource | Источник инициации |
| createTime | Date | Время создания данной записи |
| runTime | Date | Это поле определяет последовательность в очереди на запуск. Вначале запускаются те, у которых это поле раньше. Обычно это поле равно .createTime. Но если этот процесс застрял, и его отпустили, то нужно обновить это поле до текущего времени, чтобы этот процесс ушёл в конец очереди запуска. |
| lockId | ObjectId | Идентификатор блокировки |
| lockedAt | Date | Время блокировки |
| priority | Double | Приоритет запуска Если это поле не задано, то нужно считать, что оно равно 500.0 Чем меньше приоритет, чем первее в очереди стоит данный запуск. |
| removedAt | Date | Указывает время, когда данная запись скопирована в GoProcessGroupedDto, и, при этом, она, как бы, считается удалённой |
