Тёмный

Оптимизация Django. 5 - Celery + Docker 

Senior Pomidor Developer
Подписаться 21 тыс.
Просмотров 15 тыс.
50% 1

Опубликовано:

 

4 янв 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 48   
@ClinKZKZKZ
@ClinKZKZKZ Год назад
Для того чтобы не писать "docker compose run --rm web-app sh -c", лучше как мне кажется воспользоваться командой "docker compose exec web-app python manage py и т.д." которая работает внутри текущего контейнера выбранного сервиса, не создавая новый контейнер. При этом контейнер остается запущенным.
@user-lc1ni8zd8v
@user-lc1ni8zd8v Год назад
пересматриваю второй раз твой курс. Привет с Украины отлично обьясняешь, прям шикарно. Даже я бы сказал так, ты пишешь код так грамотно, что мне не приходится задавать вопросы и само собой понятно, плюс ЮнитТесты, это бомба ! Сейчас заканчиваю просмотр Бекенд на Джанго и перехожу к Оптимизации на Джанго
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Привет! )
@Alekseyild
@Alekseyild Год назад
Ещё давно пытался разобраться с celery и redis. Почитал доки, вроде запомнил определения, но толком не мог понять как и зачем это всё работает. Теперь всё понятно стало)
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
👍
@markostr
@markostr 8 месяцев назад
Огромное спасибо за Ваш прекрасный курсю Вы сэкономили мне много времени ! Здоровья и удачи ! Привет из Франкфурта.на Майне !
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 8 месяцев назад
Спасибо! Привет вам и Франкфурту )
@nurkenspashev
@nurkenspashev Год назад
спасибо, крутой. я сразу подключил worker к себе в проект) спасибо большое 🙏
@MrSunTrope
@MrSunTrope 2 месяца назад
Как же круто, и понятно спасибо большое
@5ov4-94
@5ov4-94 Год назад
Так-же можно вместо двух команд "docker-compose build" и "docker-compose up" написать одну "docker-compose up --build".
@user-ig2ld9ly7f
@user-ig2ld9ly7f 5 месяцев назад
Спасибо за очень хороший пример, а то я уже мозг изнасиловал кривой документацией
@user-jy7ld5uj1t
@user-jy7ld5uj1t Год назад
Дякую!
@pg_7v
@pg_7v Год назад
Спасибо, за курс и видео, очень познавательно и понятно! Два вопроса которые нагуглить не получилось, если позволите. 1) нужно ли чистить Redis от очереди задач, или как происходит удаление задачи которую celery отрабатывает/отработал? 2) Когда запускается выполнение задачи, лишь один инстанс существовал на каждого пользователя? Можно и в коде ограничить, а в настройках celery это как то предусмотрено?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
1) задача будет храниться пока ее не заберет воркер, потом он ее удалит, как только заберет. Если ее не заберет никто, то я думаю что она исчезнет по тайм-ауту, это очень популярная практика, будет про это в видео про redis дальше 2) я не очень хорошо понял вопрос, но я думаю что в завтрашнем видео будет это решение, если я правильно понял. Если не найдете его там то напишите мне еще раз.
@user-ul9jo6ud1u
@user-ul9jo6ud1u Год назад
Возможно при разговоре про параллельность и асинхронность нужно небольшое пояснение. Можно использовать три концепции: Celery, async view в джанге и просто помещение задачи в очередь. И вот нужно понимать что для чего используется А то тема асинхронности в джанге это уж очень непросто
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Ну да, я вначале говорил что асинхронные вью это другое . А селери задачи было бы точнее назвать параллельными . Я вижу только два варианта. Асинхронное выполнение в другом потоке , либо асинхронное выполнение в другом процессе , и по сути уже не важно , на этом сервере он запущен или на другом .
@koshakpoc2876
@koshakpoc2876 Год назад
@@SeniorPomidorDeveloper как вы относитесь к конкурентному выполнению внутри одного потока? Недавно прочитал книгу про конкурентное программирование на питоне И сложилось ощущение что за такими фреймворками как aiohttp или fastapi будущее Как вы думаете ?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Очень хорошо отношусь, определенно за ними будущее. Также Джанго , начиная с 4 версии поддерживает асинхронные view и queryset. Но нужно понимать, что с точки зрения инфраструктуры, это просто способ экономии ресурсов. Конечно, очень эффективный и нужный для высоконагруженных проектов. Но по сути, я не вижу других выгод. Поддерживать такой код, очевидно , будет сложнее . Тем более дебажить. Если для проекта достаточно поднять несколько воркеров и так он будет выдерживать необходимую нагрузку, я думаю что этим и нужно ограничиться . Если у нас много вычислений или очень много запросов и асинхронный код нам как-то значительно удешевит инфраструктуру - это стоит делать. Иногда даже стоит обратить внимание на golang или другие решения . А для стандартного сайта на Джанго, возможно, игра не стоит свеч.
@koshakpoc2876
@koshakpoc2876 Год назад
@@SeniorPomidorDeveloper понял, спасибо большое за ответ! В книге было про функции Джанго async_to_sync и sync_to_async В примерах в контроллерах функциях все равно делали логику с помощью aiohttp Ничего не понял, но очень интересно)
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
😁
@BorisenkoV89
@BorisenkoV89 Год назад
Спасибо
@ibrahimoglu
@ibrahimoglu Год назад
👍
@dodokwak
@dodokwak Год назад
Эх, докер конечно нужен. Без докера у меня получилось без проблем сделать демона из редиса, но с селери к сожалению нет. Теперь вижу, что при расширении функционала ( тот же flower) докер сильно помогает.
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Согласен. С ним проще намного
@jamjam3337
@jamjam3337 5 месяцев назад
спасибо!😎
@marshal33311
@marshal33311 Год назад
Что делать если таски получают статус RECEIVED?
@napylov2042
@napylov2042 2 месяца назад
Во-первых спасибо большое за крутой контент! Подскажите пожалуйста. Сделал небольшой проект django + celery + rabbitmq. Упаковал все в докер файл и написал docker-compose. При билде и запуске заметил, что Docker Desktop ест очень много оперативки и очень много памяти SSD диска на котором установлена ОС (Windows) порядка 15-20Гб. Это нормально или я как-то не правильно запускаю/собираю проект?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 2 месяца назад
Рад что контент понравился. На оперативку там надо ставить лимит в настройках Docker Desktop. По идее ему не нужно много с такой конфигурацией. На счет диска не помню, тоже вроде настойка есть, я удалил докер, негде посмотреть) но по идее каждый image и каждый контейнер что-то весит. Можно еще у нас в ТГ группе спросить, ссылка в профиле
@napylov2042
@napylov2042 2 месяца назад
​@@SeniorPomidorDeveloperспасибо за оперативный ответ! Действительно, надо будет посмотреть настройки в докере, возможно там проблема.
@user-qi1ri1dy6f
@user-qi1ri1dy6f Год назад
Здравствуйте, во первых спасибо за курс. Надеюсь будет уроки на авторизацию и регистрацию с использованием jwt токенов, с подтверждением через email или телефон??? Я в русско язычном сегменте не мог найти нормальных примеров...
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Возможно. Но поищите еще в англоязычном сегменте
@user-qi1ri1dy6f
@user-qi1ri1dy6f Год назад
@@SeniorPomidorDeveloper Хорошо, спасибо большое. Сделайте пожалуйста, подробный видео урок про авторизацию и регистрацию в Django rest framework. Какие варианты обычно используют на практике, какие виды существует, с использованием jwt токенов, email подтверждение или подтверждение через номер телефона и.т.п Мне кажется это один из важных пунктов в backend разработке. Ещё раз спасибо, большой привет из Кыргызстана 🇰🇬🇰🇬🇰🇬
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Кое-что было в курсе с синей обложкой “бекенд на Django” часть 2 OAuth . Но может еще сделаю по jwt. Привет Кыргызстану!
@shinbatsu5465
@shinbatsu5465 Год назад
Видел что-то касаемо этой темы у selfedu в курсе "Уроки по Django REST Framework". 14 урок, возможно это поможет
@user-xe6oq4km2v
@user-xe6oq4km2v Год назад
Спасибо за видео! А будет деплой в докере? С настройкой сервера?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Пока не планируется
@user-xe6oq4km2v
@user-xe6oq4km2v Год назад
@@SeniorPomidorDeveloper спасибо за курс, много полезного приобрел!
@weyzem
@weyzem 6 месяцев назад
А зачем делать 2 одинаковых билда? Надо делать image: :latest Где name - это название образа твоего джанго проекта
@MEZENchannel
@MEZENchannel Год назад
Привет. Подскажите пожалуйста, на макбуке м1 макс можно работать с с# и юнити ?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Можно. Я работаю с Unity и C# на своем маке M1
@MEZENchannel
@MEZENchannel Год назад
@@SeniorPomidorDeveloper Спасибо большое за ответ
@user-et6qz9mw5g
@user-et6qz9mw5g Год назад
Извините, возможно я немного не понял, но разве celery_app не нужно прописывать по пути service/service, там и __init__ есть, заранее спасибо за разъяснение
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Год назад
Может быть нужно.. по разному делают
@user-et6qz9mw5g
@user-et6qz9mw5g Год назад
@@SeniorPomidorDeveloper спасибо
@bernardsoul8936
@bernardsoul8936 2 месяца назад
По какой-то причине, если я редактирую docker-compose, потом не запускается docker пока не удалю контейнеры и образы, и снова не поведу миграции. Сам билд проходит без ошибок, но вот при docker-compose up вообще не ап) ругается... При этом контейнеры создаются. Приходится всё удалять (образы, контейнеры) и соответственно заново заполнять бд, думаю это не так должно работать=) Если кто знает, подскажите в чем может быть проблема?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 2 месяца назад
Может кто-то в тг чате подскажет, ссылка в профиле
@bernardsoul8936
@bernardsoul8936 2 месяца назад
@@SeniorPomidorDeveloper пойду спрашивать
@LinkstaRuViews
@LinkstaRuViews 5 месяцев назад
Минут пять бесполезной болтовни, которую можно уложить в минуту в момент практики.. О боги.. Еще и подсматривает постоянно, что говорит о том, что до старта видео он не прогонял ничего из того, о чем говорит.
Далее
Оптимизация Django. 1 - Django + Docker
50:08
Amazing weight loss transformation !! 😱😱
00:24
World Record Tunnel Glide 🪂
00:19
Просмотров 22 млн
Getting Started With Django Celery Beat
13:07
Просмотров 10 тыс.
Обо мне
9:08
Просмотров 9 тыс.
Docker - Django, Celery & Redis Docker Compose setup
20:29
Docker за 20 минут
21:42
Просмотров 68 тыс.
Оптимизация Django. 9 - DB Индексы
19:11