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

  Рет қаралды 12,497

Андрей Иванов | Python

Андрей Иванов | Python

Күн бұрын

СОЗДАЕМ СВОЙ CELERY ЧЕРЕЗ REDIS. BACKGROUND WORKERS В ПИТОНЕ
Python on Papyrus RU.
Мои курсы на UDEMY: www.udemy.com/...
Пожертвования: www.donational...
Github: github.com/knu...
Telegram канал: t.me/pypapyrus_ru
Другие Видео по Python: • Python, Питон
Канал на английском языке: / @pythononpapyrus
Поставьте лайк и подпишитесь!
#Python #Питон #программирование #programming

Пікірлер: 19
@ЕвгенийДмитриевич-х6г
@ЕвгенийДмитриевич-х6г 2 жыл бұрын
В восторге от канала))) Спасибо за труд!
@isded1681
@isded1681 Жыл бұрын
Огромное спасибо за ваши уроки!
@JohnKannedy
@JohnKannedy Жыл бұрын
Отличное видео! Все понятно
@ZVA_NOOK
@ZVA_NOOK Жыл бұрын
Хорошо бы пример довести до логического конца. Пока бэк не работает - примеры (problem) формируют очередь (list), как только бэк включился - прорешались вывелись все накопленные (problem`s)
@exe88cution
@exe88cution 2 жыл бұрын
Интересно, спасибо
@oreshkinalexey
@oreshkinalexey 2 жыл бұрын
Круто!
@igorlarrson955
@igorlarrson955 2 жыл бұрын
Спасибо за труд , Андрей ! У меня вопрос , в каких случаях может возникать такая ошибка - WRONGTYPE Operation against a key holding the wrong kind of value.
@user-fc1et1lz4r
@user-fc1et1lz4r 2 жыл бұрын
А почему не использовать "взрослую" систему управления очередями типа rabbitMQ ?
@kanareikaTv
@kanareikaTv Жыл бұрын
Почему профита от запуска на одной машине не будет? Как минимум это разделение логики и параллельная работа. Хоть программы и будут использовать одни и те же ресурсы, однако их работа будет независима друг от друга. Если есть баг, или просто разная нагрузка/функционал, то если один сервис упадет, то второй продолжит работать. Например, у нас есть сервис, который отвечает за прием документов, обработку их, и отправку результатов. Документы нам приходят в воркер, который запускает обработку документов. На основной сервис, допустим, к нам приходит результат от внутренней системы, output воркер занимается тем, что пытается отправить результат клиенту. Если у нас отвалится прием документов, то мы не хотим, что бы два других компонента перестали работать . Поэтому стоит разделить на сервис с апи и два отдельных воркера, вне зависимости, будут они запущены на одном устройстве или на разных.
@АльКапоне-щ5й
@АльКапоне-щ5й 2 жыл бұрын
рама два вандама
@jetbrain9115
@jetbrain9115 2 жыл бұрын
Если правильно понимаю, то все-таки от запуска двух процессов на одной машине есть некая польза-если нужно рассинхронизировать два процесса как раз с помощью redis.
@AlexandrSpirit
@AlexandrSpirit 2 жыл бұрын
У меня недавно была задача в Cylery решена. бек на FastApi 1-Загружалась картинка. после загрузки, она обрабатывалась и сохранялась на S3. Запись в бд и т.п. 2-Дальше, скачивалась, делались преобразования, всякие записи в БД, аплоад на S3. Без Celery, приходилось долго ждать ответа. Теперь, ответ сразу после 1п. Затем формируется задача для воркера по 2п. Удобно. Надо еще почту повесить на воркер. То, с чем я столкнулся, это проблема логирования самого воркера. Он в отдельном контейнере. Как прикрутить сохранение логов, не разобрался.
@PythononPapyrusRU
@PythononPapyrusRU 2 жыл бұрын
Послезавтра сделаю видео про сбор логов через ELK
@imbaquad
@imbaquad Жыл бұрын
Все круто, но данная реализация не решает проблему о которой было заявлено, так как background_worker блокируют основной поток и, по факту, это равносильно тому, если в main объявить функцию, которая будет так же через eval что-то вычислять. + такой реализации в том, что можно вычислять на другой тачке, но на мой взгляд, это не оправдано. Точно так же будешь ждать пол часа, пока сформируется отчет, о котором говорилось в начале видео. Короче, надо допилить до ума эту реализацию, не ждать ответ от background_worker'a а слушать евент от редиса об окончании вычисления и возвращать результат конечному пользователю, тогда будет топ.
@ruslanways
@ruslanways 2 жыл бұрын
В целом классно, но картинка сначала ужас - сумерки как в 240p..
@ALekraf
@ALekraf Жыл бұрын
Плохой пример. Отправляем задачу и ждем решение и новую не добавить. А если решение 30 минут занимает - мы и будем ждать 30 минут, нельзя сразу 5 например решений отправить.
@glow_pick
@glow_pick 2 жыл бұрын
звук)))
@ИгорьЛатуха
@ИгорьЛатуха 2 жыл бұрын
Кул
@Bunkerniy_Gadenish
@Bunkerniy_Gadenish Жыл бұрын
сук шо.с дикцией) пеРРВОЭЕ ВТОРРОЭЕ аззузаз
Как быстро писать хороший код на Питоне? PyAssimilator
4:20
Андрей Иванов | Python
Рет қаралды 3,5 М.
ВВЕДЕНИЕ В REDIS | Python 3, Питон 3
30:44
Андрей Иванов | Python
Рет қаралды 28 М.
У ГОРДЕЯ ПОЖАР в ОФИСЕ!
01:01
Дима Гордей
Рет қаралды 7 МЛН
GTA 5 vs GTA San Andreas Doctors🥼🚑
00:57
Xzit Thamer
Рет қаралды 28 МЛН
АЗАРТНИК 4 |СЕЗОН 2 Серия
31:45
Inter Production
Рет қаралды 969 М.
50 оттенков celery / Олег Чуркин (TechOps)
49:02
Python Channel
Рет қаралды 25 М.
Графы для программистов
15:07
Андрей Иванов | Python
Рет қаралды 2 М.
Redis за 20 минут
23:22
suchkov tech
Рет қаралды 135 М.