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

  Рет қаралды 15,378

Senior Pomidor Developer

Senior Pomidor Developer

Күн бұрын

Пікірлер: 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 Жыл бұрын
Привет! )
@markostr
@markostr 10 ай бұрын
Огромное спасибо за Ваш прекрасный курсю Вы сэкономили мне много времени ! Здоровья и удачи ! Привет из Франкфурта.на Майне !
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 10 ай бұрын
Спасибо! Привет вам и Франкфурту )
@Alekseyild
@Alekseyild Жыл бұрын
Ещё давно пытался разобраться с celery и redis. Почитал доки, вроде запомнил определения, но толком не мог понять как и зачем это всё работает. Теперь всё понятно стало)
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
👍
@MrSunTrope
@MrSunTrope 4 ай бұрын
Как же круто, и понятно спасибо большое
@5ov4-94
@5ov4-94 Жыл бұрын
Так-же можно вместо двух команд "docker-compose build" и "docker-compose up" написать одну "docker-compose up --build".
@nurkenspashev
@nurkenspashev Жыл бұрын
спасибо, крутой. я сразу подключил worker к себе в проект) спасибо большое 🙏
@user-ig2ld9ly7f
@user-ig2ld9ly7f 6 ай бұрын
Спасибо за очень хороший пример, а то я уже мозг изнасиловал кривой документацией
@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 Жыл бұрын
Спасибо
@user-jy7ld5uj1t
@user-jy7ld5uj1t Жыл бұрын
Дякую!
@ibrahimoglu
@ibrahimoglu Жыл бұрын
👍
@dodokwak
@dodokwak Жыл бұрын
Эх, докер конечно нужен. Без докера у меня получилось без проблем сделать демона из редиса, но с селери к сожалению нет. Теперь вижу, что при расширении функционала ( тот же flower) докер сильно помогает.
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
Согласен. С ним проще намного
@jamjam3337
@jamjam3337 6 ай бұрын
спасибо!😎
@napylov2042
@napylov2042 3 ай бұрын
Во-первых спасибо большое за крутой контент! Подскажите пожалуйста. Сделал небольшой проект django + celery + rabbitmq. Упаковал все в докер файл и написал docker-compose. При билде и запуске заметил, что Docker Desktop ест очень много оперативки и очень много памяти SSD диска на котором установлена ОС (Windows) порядка 15-20Гб. Это нормально или я как-то не правильно запускаю/собираю проект?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 3 ай бұрын
Рад что контент понравился. На оперативку там надо ставить лимит в настройках Docker Desktop. По идее ему не нужно много с такой конфигурацией. На счет диска не помню, тоже вроде настойка есть, я удалил докер, негде посмотреть) но по идее каждый image и каждый контейнер что-то весит. Можно еще у нас в ТГ группе спросить, ссылка в профиле
@napylov2042
@napylov2042 3 ай бұрын
​@@SeniorPomidorDeveloperспасибо за оперативный ответ! Действительно, надо будет посмотреть настройки в докере, возможно там проблема.
@pg_7v
@pg_7v Жыл бұрын
Спасибо, за курс и видео, очень познавательно и понятно! Два вопроса которые нагуглить не получилось, если позволите. 1) нужно ли чистить Redis от очереди задач, или как происходит удаление задачи которую celery отрабатывает/отработал? 2) Когда запускается выполнение задачи, лишь один инстанс существовал на каждого пользователя? Можно и в коде ограничить, а в настройках celery это как то предусмотрено?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
1) задача будет храниться пока ее не заберет воркер, потом он ее удалит, как только заберет. Если ее не заберет никто, то я думаю что она исчезнет по тайм-ауту, это очень популярная практика, будет про это в видео про redis дальше 2) я не очень хорошо понял вопрос, но я думаю что в завтрашнем видео будет это решение, если я правильно понял. Если не найдете его там то напишите мне еще раз.
@weyzem
@weyzem 8 ай бұрын
А зачем делать 2 одинаковых билда? Надо делать image: :latest Где name - это название образа твоего джанго проекта
@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 урок, возможно это поможет
@bernardsoul8936
@bernardsoul8936 4 ай бұрын
По какой-то причине, если я редактирую docker-compose, потом не запускается docker пока не удалю контейнеры и образы, и снова не поведу миграции. Сам билд проходит без ошибок, но вот при docker-compose up вообще не ап) ругается... При этом контейнеры создаются. Приходится всё удалять (образы, контейнеры) и соответственно заново заполнять бд, думаю это не так должно работать=) Если кто знает, подскажите в чем может быть проблема?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper 4 ай бұрын
Может кто-то в тг чате подскажет, ссылка в профиле
@bernardsoul8936
@bernardsoul8936 4 ай бұрын
@@SeniorPomidorDeveloper пойду спрашивать
@user-xe6oq4km2v
@user-xe6oq4km2v Жыл бұрын
Спасибо за видео! А будет деплой в докере? С настройкой сервера?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
Пока не планируется
@user-xe6oq4km2v
@user-xe6oq4km2v Жыл бұрын
@@SeniorPomidorDeveloper спасибо за курс, много полезного приобрел!
@marshal33311
@marshal33311 Жыл бұрын
Что делать если таски получают статус RECEIVED?
@user-et6qz9mw5g
@user-et6qz9mw5g Жыл бұрын
Извините, возможно я немного не понял, но разве celery_app не нужно прописывать по пути service/service, там и __init__ есть, заранее спасибо за разъяснение
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
Может быть нужно.. по разному делают
@user-et6qz9mw5g
@user-et6qz9mw5g Жыл бұрын
@@SeniorPomidorDeveloper спасибо
@MEZENchannel
@MEZENchannel Жыл бұрын
Привет. Подскажите пожалуйста, на макбуке м1 макс можно работать с с# и юнити ?
@SeniorPomidorDeveloper
@SeniorPomidorDeveloper Жыл бұрын
Можно. Я работаю с Unity и C# на своем маке M1
@MEZENchannel
@MEZENchannel Жыл бұрын
@@SeniorPomidorDeveloper Спасибо большое за ответ
@LinkstaRuViews
@LinkstaRuViews 7 ай бұрын
Минут пять бесполезной болтовни, которую можно уложить в минуту в момент практики.. О боги.. Еще и подсматривает постоянно, что говорит о том, что до старта видео он не прогонял ничего из того, о чем говорит.
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 21 МЛН
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 202 МЛН
Оптимизация Django. 1 - Django + Docker
50:08
Senior Pomidor Developer
Рет қаралды 31 М.
Обо мне
9:08
Senior Pomidor Developer
Рет қаралды 10 М.
celery django примеры #2
53:24
Django School | Омельченко Михаил
Рет қаралды 45 М.
Всё, что нужно знать о Docker | Уроки Docker
20:22
Зачем нужна база данных Redis и где она используется
13:24
Дмитрий Ченгаев. Веб-разработка.
Рет қаралды 20 М.
Руслан Аушев - разговор про Беслан
39:33
вДудь Shorts
Рет қаралды 1,1 МЛН