Дружим Django и Celery, Celery Result, Celery Beat

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ต.ค. 2024
  • В этом видео я расскажу и покажу как к проекту написанному на фреймворке Django подключить Celery и его компоненты, такие как Celery Result и Celery Beat!
    Поддержать канал:
    www.donational...
    Задать вопрос:
    fantalks.io/r/...

ความคิดเห็น • 50

  • @BogdanDotPy
    @BogdanDotPy  2 ปีที่แล้ว +5

    Если помогло то подпишись, я рассказываю про наболевшее ))

  • @romaniksanov8237
    @romaniksanov8237 ปีที่แล้ว +10

    celery с версии 4 больше не поддерживается на windows. выход такой: pip install eventlet и запускать команду celery -A worker -l INFO -P eventlet

  • @exemplles
    @exemplles 2 ปีที่แล้ว +6

    Спасибо за гайд, но хотелось бы видос с практическим применением Celery, Celery Result и Celery Beat на какой-нибудь типовой задаче в проде.

  • @АртемВоробьев-б3к
    @АртемВоробьев-б3к ปีที่แล้ว +2

    Спасибо, друг! Отличный гайд получился

  • @pokichman5702
    @pokichman5702 ปีที่แล้ว

    Отличная подача, спасибо за гайд!

  • @ivanromanov7120
    @ivanromanov7120 6 หลายเดือนก่อน

    Отличный гайд!

  • @jovid6410
    @jovid6410 ปีที่แล้ว

    Good stuff form a good person, well done sir!

  • @HegoZ
    @HegoZ 9 หลายเดือนก่อน

    Коммент для продвижения видео. Спасибо помогло.

  • @geniculata_spider
    @geniculata_spider ปีที่แล้ว

    Четко и по делу

  • @ВладиславСотников-т9н
    @ВладиславСотников-т9н 8 หลายเดือนก่อน

    Если не жалко, поделись ссылкой на документацию django-celery-results. Или расскажи, пожалуйста, где ты узнал какие объекты и методы там есть?

    • @BogdanDotPy
      @BogdanDotPy  8 หลายเดือนก่อน

      Не жалко конечно, из документации celery
      django-celery-results.readthedocs.io/en/latest/

  • @setoporkov
    @setoporkov 2 ปีที่แล้ว +2

    Что за трек фоном играет, подскажите пожалуйста!

    • @BogdanDotPy
      @BogdanDotPy  2 ปีที่แล้ว

      Linearwave Tuuh - She Share Story

  • @ДмитрийШагин-э1ш
    @ДмитрийШагин-э1ш ปีที่แล้ว

    В целом все по существу, кто знает и делает - понятно все.
    Вижу вы человек знающий, в админке django русские буквы в после Result не в той кодировке отображаются( "\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435"), при этом если дергать задания через shell то все. Не смог разобраться, может вы знаете решение?)

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Конкретно в Celery не сталкивался, посмотри в базе как лежит значение, если в базе тоже коды вместо букв, то значит воркер виноват, можно попробовать добавить ему в окружение переменную PYTHONIOENCODING=utf8

  • @ilyanizamov
    @ilyanizamov ปีที่แล้ว

    Хороший гайд, но такое огромное количество переходов, что голова болит.

  • @ivanstereotekkofficial5353
    @ivanstereotekkofficial5353 2 ปีที่แล้ว

    спасибо!😁

  • @cristianglodeanu2329
    @cristianglodeanu2329 ปีที่แล้ว +1

    Уже 2-3 день мучаюсь с этитми редисками, докер компосами и селери , делаю как на видео нихрена не работает, то модуль не найдет когда пишу комманду запустить воркер, то подключится к релиске в докер не хочет, но если ставлю портв 6379 все норм и без базы , ваще нифига не понятно, эта абстракность бесит

    • @cristianglodeanu2329
      @cristianglodeanu2329 ปีที่แล้ว

      Мне кажется что название папки должно юыть такое как и у апки, иначе не запустится воркер, в вашем случае это soaqaz папка и название приложения

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      @@cristianglodeanu2329 название директории где лежит проект не имеет значения, название директории где лежит файл settings по большому счету тоже, главное чтобы был верный путь в manage.py к файлу с конфигом

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Если сходу не получается въехать в докер, делайте все на железе. Ставьте редис, базу и настраивайте приложение. Когда получится на железе, пробуйте в докер.

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Еще советую группу по Джанго в телеграм, легко ищется, что-то вроде Django_ru, там можно задать вопрос в том числе и по селери или доуерищации, главное с примерами ошибок и описанием того, что делаете

    • @cristianglodeanu2329
      @cristianglodeanu2329 ปีที่แล้ว

      @@BogdanDotPy спс, посмотрю

  • @jailyssneust2189
    @jailyssneust2189 ปีที่แล้ว

    Спасибо

  • @gvadellupa9335
    @gvadellupa9335 ปีที่แล้ว

    А почему для Redis на локальной машине ты выбрал порт 16379? Ну то бишь, почему не сделал вот так 6379:6379?

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Хз, привык как-то уже, что если прога в контейнере то порты хоста не занимать

    • @gvadellupa9335
      @gvadellupa9335 ปีที่แล้ว

      @@BogdanDotPy но это лишь дело привычки? И я могу спокойно взять одинаковые порты, и всё будет гуд

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      @@gvadellupa9335 конечно, используй какой хочешь

  • @mikewinny3856
    @mikewinny3856 2 ปีที่แล้ว

    Спасибо за информацию!
    Подскажите, при запуске под docker контейнеры worker'а и beat'а формируются на безе image'а основного приложения (т.е., потенциально могут иметь необоснованно большой размер даже для маленькой задачки) или это отдельно формирующиеся контейнеры из своих image'ей (предположительно, не очень больших), общающиеся с основным приложением и все
    вопрос возник при просмотре другого ролика про django+celery под docker, в котором автор напрямую заявил, что worker - это то же приложение, а на вопрос как же всё-таки оптимизировать использование ресурсов как-то вильнул хвостом и скрылся в тине... а найти разумного объяснения, что формируется при запуске например через docker-compose как-то пока не удалось 😕

    • @BogdanDotPy
      @BogdanDotPy  2 ปีที่แล้ว +1

      Здравствуйте, да, воркер и бит это то же приложение, что и основное, вы просто поднимаете 3 контейнера из одного образа. Так что место на жестком диске не занимается лишнее, поскольку образ один. А оперативная память будет занята практически также как если бы вы подняли их без докера

    • @mikewinny3856
      @mikewinny3856 2 ปีที่แล้ว

      @@BogdanDotPy ну то есть, по уму надо писать отдельное ПО, например, для периодического формирования отчетов или загрузки внешних данных?

    • @BogdanDotPy
      @BogdanDotPy  2 ปีที่แล้ว +2

      @@mikewinny3856 нет, celery интегрируется в Django для возможности использования ORM и других фичей. В проде обычно воркеры поднимаются сотнями из одного образа и ничего)

    • @BogdanDotPy
      @BogdanDotPy  2 ปีที่แล้ว +1

      @@mikewinny3856 конечно можно запустить воркер селери, драматик или какой еще и в отдельном микросервисе если не нужны никакие зависимости от Джанго

  • @АлександрДраненков
    @АлександрДраненков ปีที่แล้ว

    У меня при включении CELERY_RESULT_BACKEND = "django-db" не работает, база mysql. Может как то подругому назвать ее надо?

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Привет, советую задавать такие вопросы в телеге, есть канал по Джанго, я там сам сижу @pydjango
      И в вопросе напиши как настроил, что и как запускаешь, скрины там скинь и тд. А то не понятно что ты вообще делаешь, а тут неудобно такое обсуждать

    • @dodokwak
      @dodokwak ปีที่แล้ว

      У меня тоже не отражается в админке. значение констатнты правильное. есть дискуссия на эту тему на гитхабе селери. однако у меня не получается.

  • @Oh_My_jungle
    @Oh_My_jungle ปีที่แล้ว

    Всё становится сложнее и сложнее для самоучке

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Да так всегда кажется, когда за что-то новое берёшься, а потом оп и получается 😄

    • @vladvlad3544
      @vladvlad3544 ปีที่แล้ว

      А такому в ВУЗах не учат, такое самому нужно изучать

  • @andreysergeev5916
    @andreysergeev5916 2 ปีที่แล้ว

    Нет объяснения для чего предназначены функции, их параметры, ее использование, спешишь не понятно куда...

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Ну да, стараюсь в новых роликах так не делать) Просто казалось, что это и так понятно и тд (:

  • @MrCipec
    @MrCipec ปีที่แล้ว

    Классный музон на фоне, подскажи название

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว +1

      Linearwave Tuuh - She Share Story

  • @ASFNFSW
    @ASFNFSW 4 หลายเดือนก่อน

    не работает, дизлайк

    • @BogdanDotPy
      @BogdanDotPy  4 หลายเดือนก่อน

      Да харош, чёт не получается гугли или иди в ТГ и пиши чё не работает)

  • @swishers2807
    @swishers2807 6 หลายเดือนก่อน

    raise ConnectionError(str(exc)) from exc
    kombu.exceptions.OperationalError: invalid username-password pair or user is disabled.
    Как решить эту ошибку?

    • @BogdanDotPy
      @BogdanDotPy  5 หลายเดือนก่อน

      Не знаю 🤷

    • @swishers2807
      @swishers2807 5 หลายเดือนก่อน

      @@BogdanDotPy я решил уже
      Кому интересно входите docker exec id_container sh и все работает

  • @langubox
    @langubox ปีที่แล้ว

    А может кто-нибудь подсказать, в чем может быть проблема(mac m2)?
    Если настройки делать:
    CELERY_RESULT_BACKEND = 'django-db'
    то получаю
    {"exc_type": "WorkerLostError", "exc_message": ["Worker exited prematurely: signal 6 (SIGABRT) Job: 0."], "exc_module": "billiard.exceptions"}

    • @BogdanDotPy
      @BogdanDotPy  ปีที่แล้ว

      Я бы и рад ответить, но у меня винда и линух)