ИВЕНТЫ - ЭТО РЕШЕНИЕ! EVENT-DRIVEN АРХИТЕКТУРА В ПИТОНЕ

Поділитися
Вставка
  • Опубліковано 11 вер 2024
  • Андрей Иванов - Питон
    Используйте мою ссылку в криптобирже OKEX и получите -10%:
    www.okx.com/jo...
    Мои курсы на UDEMY: www.udemy.com/....
    Пожертвования: www.donational....
    Github: github.com/knu...
    Telegram канал: t.me/pypapyrus_ru
    Другие Видео по Python: www.youtube.co....
    Канал на английском языке: www.youtube.co....
    Поставьте лайк и подпишитесь!
    #Python #Питон #программирование #programming

КОМЕНТАРІ • 19

  • @Thestarter100
    @Thestarter100 3 місяці тому +2

    Кратко, ясно и по делу. Спасибо!

  • @maxim.samokhval
    @maxim.samokhval 2 роки тому +4

    Спасибо большое за видео и качественный разбор . Продолжайте в том же духе !

  • @bonessnap
    @bonessnap 3 місяці тому

    где-то я уже видел такое руководство

  • @Lehan111
    @Lehan111 2 місяці тому

    Ещё слышал про команды в связке с евент драйвен, есть ли они здесь?

  • @ДаниилСоловьев-э6ш

    Когда только начал смотреть видео, подумал, что логику с отправкой email вынесут вообще в отдельное выполнение, как с Celery. А тут оказалось в другом смысл. Не слышал о такой штуке раньше, возьму на заметку. Действительно удобно и абстрактно)

    • @al.e.k
      @al.e.k 2 роки тому +1

      Название видео действительно наводит на мысль, что тут будет нечто масштабное, хотя по сути разобран паттерн Observer.

  • @valentino-sm
    @valentino-sm 11 місяців тому

    callable это функция для проверки что объект Callable.
    В тайпхинтингах это то же самое что сделать вместо Any - any

  • @user-pc9hn4ve2b
    @user-pc9hn4ve2b Рік тому

    Найс разбор. Качественные пояснения

  • @user-lq4vo1sv2h
    @user-lq4vo1sv2h 2 роки тому

    Explicit is better than implicit!
    А тут получается что мы можем оставить кучу пустых вызовов в коде без ошибок, но при этом чтоб удостовериться что они действительно "пустые" нужно чуть ли не в дебаггере неймспейсы просматривать

  • @xxnn674
    @xxnn674 2 роки тому

    А как передать в dispatch различные аргументы для разных функций?

    • @PythononPapyrusRU
      @PythononPapyrusRU  2 роки тому +1

      Можно все собирать в словаре data, либо через args и kwargs, а оттуда уже брать что нужно. Но вообще лучше сделать так чтобы сам event в себе нес все нужные данные

    • @xxnn674
      @xxnn674 2 роки тому

      @@PythononPapyrusRU Спасибо за обратную связь, разобрался

    • @vrabosh
      @vrabosh 2 роки тому

      От вашей задачи зависит, можно доп данные так передавать reg_hendlers("name_hend", func, args) и словарь расширить с функцие и аргументами.

    • @VitaliyStepnoFF
      @VitaliyStepnoFF Рік тому

      Ещё как вариант NamedTuple/dataclass. По сути это какой-то DTO между эвентами с известным интерфейсом (например, для сравнения: какой интерфейс у словаря?). Попробуйте так
      Ещё можно сделать в БД новую табличку UserRegisteredEvents, а в dipatch просто передавать id эвента. Тогда вы сможете сделать soft realtime на очередях и так далее, но это уже фантазия...

  • @Lehan111
    @Lehan111 2 місяці тому

    А где этот main с register handler будет в фастапи например? А в ручках апи, юз кейсах?

  • @david_shiko
    @david_shiko 2 роки тому

    Прикольно, но почему словарь, а не класс "event_register" или events.register? Тогда и параметры можно будет нормально передавать.

    • @YntymakPlay
      @YntymakPlay 2 роки тому +1

      Потому что это простой пример реализации ивентов, для учебного примера усложнения ни к чему

    • @david_shiko
      @david_shiko 2 роки тому +2

      @@YntymakPlay имхо, нужно сразу правильный пример показывать. Говорю как человек, который проходил все это.