powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Net Core WebAPI: как такое замутить?
13 сообщений из 13, страница 1 из 1
Net Core WebAPI: как такое замутить?
    #39988204
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая задумка, но пока не знаю, как это реализовать.
Клиент шлет мне на бэк данные, я их получаю, сохраняю и сразу отправляю клиенту ответ Ок = 200 (типа я получил данные).
Но после ответа клиенту работа с данными не прекращается (намечается достаточно долгий процесс их обработки).
Как такой процесс запустить внутри .Net Core, чтобы и клиент получил ответ и конвейер обработки продолжился?
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988214
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Организовать очередь заданий через предпрочитаемый брокер, или внутри AspCore приложения.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988217
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты же сам и ответил - из .net core запустить какой-то фоновый процесс. Только учитывай, что тебе придется думать про масштабирование, т.к. те потоки из пула которые будут в нем использоваться для обработки входящих хттп-запросов станут недоступны. Возможна куча вариантов решения этой проблемы.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988232
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать сервис унаследованный от
Код: c#
1.
class MyService : BackgroundService, IHostedService, IMyService


и добавить его как хост сервис, как вариант
Код: c#
1.
services.AddHostedService(p => p.GetService<IMyService>());


но это не точно, не могу назвать себя экспертом, в данном вопросе :)
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988243
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь архитектурно напрашивается вынесение долгого джоба в отдельный сервис.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988246
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
сразу отправляю клиенту ответ Ок = 200
только не 200, а 202
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988250
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
RegisteredUser
сразу отправляю клиенту ответ Ок = 200
только не 200, а 202

Вполне может быть и 203. Если саму фоновую задачу рассмаривать как ресурс.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988533
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
общее направление понятно.
спасибо.
П.С.
если у кого- то есть пример готового кода, то буду благодарен.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988537
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
общее направление понятно.
спасибо.
П.С.
если у кого- то есть пример готового кода, то буду благодарен.

Как простейший готовый вариант я бы взял Quartz.Net и по запросу создавал нужный джоб и шедулил бы в него с нужными параметрами. В общем-то это вариант даже и не простейший в том смысле что у него куча возможностей, настроек и т.п., но в базовом виде там для того что тебе требуется достаточно дюжины-двух строчек кода.
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #39988540
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthat, спасибо!
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #40010017
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кому интересно как такое замутить, предлагаю эти видео

Background works в ASP.NET Core (часть 1,2,3)

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #40011091
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и вот еще полезная вещь


Background Tasks Made Easy with Hangfire and ASP.NET Core
...
Рейтинг: 0 / 0
Net Core WebAPI: как такое замутить?
    #40011095
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
и вот еще полезная вещь
Background Tasks Made Easy with Hangfire and ASP.NET Core

Да, в принципе, Hangfire это аналог Quartz.NET, мы его пробовали, но не особо понравилось. У него там все на лямбдах из-за этого траблы с DI и какое-то мутное устройство персистенса джобов. И лицензия его нас насторожила (проект был коммерческий).
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Net Core WebAPI: как такое замутить?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]