feat: добавил инвалидацию кэшей плагинов
Create and publish a Docker image / Publish image (push) Successful in 1m53s
Create and publish a Docker image / Publish image (push) Successful in 1m53s
This commit is contained in:
1 parent
01bab77900
commit
c590a8a6c7
5 files changed
+51
-4
No files matched your search
@@ -89,6 +89,7 @@
|
||||
- загружает большой список сотрудников;
|
||||
- группирует записи по ФИО;
|
||||
- сохраняет результат на диск;
|
||||
- после успешного обновления предлагает всем плагинам инвалидировать свои кэши;
|
||||
- повторяет попытки при временных сбоях.
|
||||
|
||||
Если сервис ещё не инициализирован, `GET /api/schedule/searchemployee` возвращает `503`.
|
||||
@@ -131,7 +132,11 @@ Quartz job [UpdateJwtJob](/home/serega404/Рабочий стол/SfeduSchedule/
|
||||
На старте хост ищет все `*.plugin.dll` внутри `data/Plugins` и загружает найденные сборки как плагины. Плагин должен реализовывать интерфейс [IPlugin](/home/serega404/Рабочий стол/SfeduSchedule/ModeusSchedule.Abstractions/IPlugin.cs), чтобы:
|
||||
|
||||
- зарегистрировать свои сервисы в DI через `ConfigureServices`;
|
||||
- добавить minimal API маршруты через `MapEndpoints`.
|
||||
- добавить minimal API маршруты через `MapEndpoints`;
|
||||
- опционально обновить или очистить свои кэши через `InvalidateCacheAsync`.
|
||||
|
||||
`InvalidateCacheAsync` имеет default-реализацию, поэтому плагины, собранные до добавления этого метода,
|
||||
продолжают загружаться. Ошибка инвалидации одного плагина логируется и не мешает вызвать остальные.
|
||||
|
||||
MVC-контроллеры из плагинов тоже подключаются автоматически через `ApplicationPart`.
|
||||
|
||||
|
||||
Reference in new issue
Block a user