Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Асинхронная логика
|
|||
|---|---|---|---|
|
#18+
Коллеги, есть вопрос. Есть API (WEB Api) проект клауд хранилща каталогов/файлов. Структура: 1) Слой контроллеров: Проверяет аутентификацию, проводит первичную валидацию входный значений, вызывает слойл логики. 2) Слой логики: Проверяет права дотупа к конкретному каталогу/файлу, проводит доп. проверки (к примеру дубликаты), вызывает репозиторий. 3) Слой репозиторий (работает с БД черз EF): Вставляет/удаляет/меняет нужныйе записи. В момент операции (к примеру создание файла) нужно сделать кое какие дополнительные действия (в данный момент вложить несколько сообщений в очередь, но действия могут быть разннобразные). Результат выпонения этих действий не влияет на ход "главной" операции. Т.е. если к примеру очередь была переполнена то резултат оперцаии возвращенной контроллером клиенту все равно 201 created. Т.е. все эти доп. операции должны быть асинхронными. Разных операций будет примерно 20-30. Тепреь вопрос как это рализовать: Самый простой способ дернуть из слоя логики асинхронно какои-нибудь "doAdditionalWork" метод в режиме "Fire and Forget". Но не хочется вызывать это явно в каждой операции. Хотелось бы что то более элегнатное. По функционалу - типа триггера в базе данных. Триггер отследил вставку и вызвал тот самый "doAdditionalWork" метод. Но в БД лезть не хочется. Подскажите что-нибудь на уровне приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 15:39 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=37&tid=1355894]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
19ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 282ms |

| 0 / 0 |
