СОЗДАЕМ СВОЙ CELERY ЧЕРЕЗ REDIS. BACKGROUND WORKERS В ПИТОНЕ

СОЗДАЕМ СВОЙ CELERY ЧЕРЕЗ REDIS. BACKGROUND WORKERS В ПИТОНЕ

12,878 Просмотров

СОЗДАЕМ СВОЙ CELERY ЧЕРЕЗ REDIS. BACKGROUND WORKERS В ПИТОНЕ
Python on Papyrus RU.

Мои курсы на UDEMY: https://www.udemy.com/user/andrey-ivanov-49/
Пожертвования: https://www.donationalerts.com/r/pythononpapyrus
Github: https://github.com/knucklesuganda
Telegram канал: https://t.me/pypapyrus_ru

Другие Видео по Python: https://www.youtube.com/playlist?list=PLF4MWzDJPFSZJeqc7u65mRAjR-1eFKUfd
Канал на английском языке: https://www.youtube.com/channel/UCeC9LNDwRP9OfjyOFHaSikA

Поставьте лайк и подпишитесь!
#Python #Питон #программирование #programming

Тэги:

#programming #python #py #C# #js #c++
Ссылки и html тэги не поддерживаются


Комментарии:

@AlexandrSpirit
@AlexandrSpirit - 24.03.2022 12:39

У меня недавно была задача в Cylery решена.
бек на FastApi
1-Загружалась картинка. после загрузки, она обрабатывалась и сохранялась на S3. Запись в бд и т.п.
2-Дальше, скачивалась, делались преобразования, всякие записи в БД, аплоад на S3.
Без Celery, приходилось долго ждать ответа.
Теперь, ответ сразу после 1п. Затем формируется задача для воркера по 2п.
Удобно.
Надо еще почту повесить на воркер.

То, с чем я столкнулся, это проблема логирования самого воркера. Он в отдельном контейнере. Как прикрутить сохранение логов, не разобрался.

Ответить
@oreshkinalexey
@oreshkinalexey - 24.03.2022 13:13

Круто!

Ответить
@АльКапоне-щ5й
@АльКапоне-щ5й - 24.03.2022 15:43

рама два вандама

Ответить
@ИгорьЛатуха
@ИгорьЛатуха - 24.03.2022 16:41

Кул

Ответить
@ЕвгенийДмитриевич-х6г
@ЕвгенийДмитриевич-х6г - 25.03.2022 16:32

В восторге от канала))) Спасибо за труд!

Ответить
@glow_pick
@glow_pick - 25.03.2022 19:36

звук)))

Ответить
@exe88cution
@exe88cution - 13.04.2022 18:37

Интересно, спасибо

Ответить
@ФедорКравец-ю1е
@ФедорКравец-ю1е - 22.04.2022 11:39

А почему не использовать "взрослую" систему управления очередями типа rabbitMQ ?

Ответить
@igorlarrson955
@igorlarrson955 - 17.07.2022 17:02

Спасибо за труд , Андрей !
У меня вопрос , в каких случаях может возникать такая ошибка - WRONGTYPE Operation against a key holding the wrong kind of value.

Ответить
@jetbrain9115
@jetbrain9115 - 28.07.2022 22:11

Если правильно понимаю, то все-таки от запуска двух процессов на одной машине есть некая польза-если нужно рассинхронизировать два процесса как раз с помощью redis.

Ответить
@ruslanways
@ruslanways - 19.08.2022 18:26

В целом классно, но картинка сначала ужас - сумерки как в 240p..

Ответить
@kanareikaTv
@kanareikaTv - 18.11.2022 17:36

Почему профита от запуска на одной машине не будет? Как минимум это разделение логики и параллельная работа. Хоть программы и будут использовать одни и те же ресурсы, однако их работа будет независима друг от друга. Если есть баг, или просто разная нагрузка/функционал, то если один сервис упадет, то второй продолжит работать. Например, у нас есть сервис, который отвечает за прием документов, обработку их, и отправку результатов. Документы нам приходят в воркер, который запускает обработку документов. На основной сервис, допустим, к нам приходит результат от внутренней системы, output воркер занимается тем, что пытается отправить результат клиенту. Если у нас отвалится прием документов, то мы не хотим, что бы два других компонента перестали работать . Поэтому стоит разделить на сервис с апи и два отдельных воркера, вне зависимости, будут они запущены на одном устройстве или на разных.

Ответить
@ZVA_NOOK
@ZVA_NOOK - 26.12.2022 16:05

Хорошо бы пример довести до логического конца.
Пока бэк не работает - примеры (problem) формируют очередь (list), как только бэк включился - прорешались вывелись все накопленные (problem`s)

Ответить
@isded1681
@isded1681 - 18.02.2023 23:34

Огромное спасибо за ваши уроки!

Ответить
@imbaquad
@imbaquad - 01.03.2023 12:13

Все круто, но данная реализация не решает проблему о которой было заявлено, так как background_worker блокируют основной поток и, по факту, это равносильно тому, если в main объявить функцию, которая будет так же через eval что-то вычислять. + такой реализации в том, что можно вычислять на другой тачке, но на мой взгляд, это не оправдано. Точно так же будешь ждать пол часа, пока сформируется отчет, о котором говорилось в начале видео. Короче, надо допилить до ума эту реализацию, не ждать ответ от background_worker'a а слушать евент от редиса об окончании вычисления и возвращать результат конечному пользователю, тогда будет топ.

Ответить
@JohnKannedy
@JohnKannedy - 01.03.2023 20:43

Отличное видео! Все понятно

Ответить
@Bunkerniy_Gadenish
@Bunkerniy_Gadenish - 30.03.2023 14:22

сук шо.с дикцией) пеРРВОЭЕ ВТОРРОЭЕ аззузаз

Ответить
@ALekraf
@ALekraf - 15.08.2023 08:38

Плохой пример. Отправляем задачу и ждем решение и новую не добавить. А если решение 30 минут занимает - мы и будем ждать 30 минут, нельзя сразу 5 например решений отправить.

Ответить