Job-модули
Очередь portal_jobs
Заголовок раздела «Очередь portal_jobs»Каждое задание содержит:
| Поле | Описание |
|---|---|
service_key | Служба-исполнитель |
job_type | Тип обработчика |
payload | JSON с данными |
status | pending → running → completed / failed |
attempts | Число попыток (макс. 3) |
Жизненный цикл
Заголовок раздела «Жизненный цикл»- Event Receiver или API создаёт запись со статусом
pending - Worker забирает задание (
claimJob), статусrunning jobProcessorвызывает handler изserviceRegistry- Успех →
completed, ошибка → повтор через 30 с илиfailed
Встроенные типы
Заголовок раздела «Встроенные типы»| job_type | Служба | Описание |
|---|---|---|
audit.logEvent | audit | Запись в audit_logs |
listItem.example | audit | Пример обработчика элементов списка |
adSync.run | ad-sync | Синхронизация пользователей и групп из LDAP/AD |
Результат adSync.run:
{ "users": { "synced": 120, "created": 3, "updated": 117, "reactivated": 2, "deactivated": 1 }, "groups": { "synced": 15, "created": 2, "updated": 13, "membersUpdated": 45, "removedGroups": 0 }}Группы groups присутствуют только если в админке включена синхронизация групп AD.
Повтор вручную
Заголовок раздела «Повтор вручную»POST /api/v1/jobs/{id}/retry — сброс статуса в pending (только admin).