170 похожих чатов

Чат, у меня есть вопрос: Я использую Net core Web api

на микросервисы.

У меня есть сервис обработки фотографий (object detection).

Хочу реализовать работу таким образом:

1) Сервис (на c#) получает post запрос с фотографией.
2) Загружает фотографию и кладёт её в хранилище (например в s3).
3)Создаёт фоновую задачу и клалет её в очередь сообщений.
4) отдаёт в ответе URL по которому можно проверить статус задачи.

-----

Очередь сообщений слушают воркеры на Python. Они берут фотографии и прогоняют их через нейронку. И отдают ответ о выполненной работе.

Проблема возникает в том что я хочу использовать Celery в python воркирах.

И если бы сервис у меня был бы не на c# а на Python то тут все было бы просто. Но я хочу использовать именно c#.

Как лучше быть?
https://devacademy.ru/article/ochered-soobschenij-i-asinhronnyie-zadachi-s-pomoschyu-celery-i-rabbitmq/


В питоне это можно решать так

Есть воркера файл с функцией my_ml_task() с пометкой @app.task

Эта функция делает то что мне нужно - инферит нейронку и делает предикт. И возвращает json

Далее в Web api на Python я вызываю


from tasks import my_ml_task

#запуск задачи
predict = my_ml_task.delay()

predict.ready() #для проверки готов ли ответ.

predict.get() #для вывода результата


Все. Вся работа скрыта в фреймворке celery.

Хрчу получить такой же опыт в api на C#.

Как можно использовать celery оттуда? Вдруг кто то видел?

1 ответов

20 просмотров

Не очень понимаю, зачем тебе еще какая-то селери. Вот у тебя в реббите уже лежит очередь заданий. Берешь воркером задачу и делаешь. Если их много, они все берут. Очень масштабируемо, очень похристиански.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта