public interface IOperationRepository
Public Interface IOperationRepository
public interface class IOperationRepository
type IOperationRepository = interface end
CompleteAsync | Завершает операцию заданного типа, т.е. переводит её в состояние [Tessa.Platform.Operations.OperationState.Completed]. |
CreateAsync | Создаёт операцию с заданными параметрами. |
DeleteAsync | Удаляет операцию с заданным идентификатором. Если операция не существовала, то не выдаётся сообщений об ошибках. |
DeleteOlderThanAsync | Выполняет удаление записей, которые были созданы раньше заданных даты и времени. |
GetAllAsync(Boolean, CancellationToken) | Возвращает информацию по всем операциям. При запросе с клиента метод доступен только администраторам. |
GetAllAsync(Guid, Boolean, CancellationToken) | Возвращает информацию по всем операциям заданного типа. При запросе с клиента метод доступен только администраторам. |
GetStateAndProgressAsync | Возвращает состояние и прогресс операции в процентах или null, если операция не найдена. |
GetStateAsync | Возвращает состояние операции с заданным идентификатором или null, если операция не существует. |
IsAliveAsync | Возвращает признак того, что операция с заданным идентификатором существует. |
ReportProgressAsync | Сообщает о проценте готовности заданной операции, если операция находится в состоянии [Tessa.Platform.Operations.OperationState.InProgress]? и возвращает признак того, что изменение процента готовности удалось. |
StartAsync | Запускает операцию с заданным идентификатором. Операция должна быть создана и находиться в состоянии [Tessa.Platform.Operations.OperationState.Created]. |
StartFirstAsync | Запускает из созданных операций заданного типа и возвращает идентификатор запущенной операции или null, если подходящая операция отсутствует. |
TryGetAsync | Возвращает информацию по операции с заданным идентификатором или null, если операция отсутствует. |
TryGetOperationIDByRequestHashAsync | Возвращает идентификатор первой попавшейся операции по заданным идентификатору типа и хешу от запроса или null, если операция не найдена. |
DeleteOperationSafeAsync |
Безопасное удаление операции
(Определяется AdHelper) |
ExecuteInLockAsync |
Асинхронно выполняет действие actionFunc внутри эксклюзивной блокировки.
Никакое другое вычисление не сможет быть выполнено, пока выполняется действие.
При этом создаётся операция c ID lockOperationTypeID с указанным описанием operationDescription.
Возвращает признак того, что блокировка была взята и действие было выполнено.
Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки.
Вторым параметром возвращается идентификатор операции.
При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных.
Использование нескольких соединений может быть полезно для больших таймаутов,
чтобы не удерживать одно и то же соединение несколько минут.
Чтобы гарантировать выполнение на одном и том же соединении с БД,
вызовите метод внутри блока await using(dbScope.Create()) { ... }.
(Определяется OperationsExtensions) |
ExecuteInRolesLockAsync |
Асинхронно выполняет действие actionFunc внутри эксклюзивной блокировки на вычисление состава ролей или замещений.
Никакое другое вычисление не сможет быть выполнено, пока выполняется действие.
При этом создаётся операция LockOperationID с указанным описанием operationDescription.
Возвращает признак того, что блокировка была взята и действие было выполнено.
Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки.
При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных.
Использование нескольких соединений может быть полезно для больших таймаутов,
чтобы не удерживать одно и то же соединение несколько минут.
Чтобы гарантировать выполнение на одном и том же соединении с БД,
вызовите метод внутри блока using(dbScope.Create()) { ... }.
(Определяется RolesExtensions) |