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

Поделиться
HTML-код
  • Опубликовано: 25 дек 2024

Комментарии • 19

  • @Thestarter100
    @Thestarter100 7 месяцев назад +2

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

  • @maxim.samokhval
    @maxim.samokhval 2 года назад +4

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

  • @Lehan111
    @Lehan111 6 месяцев назад

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

  • @bonessnap
    @bonessnap 7 месяцев назад

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

  • @valentino-sm
    @valentino-sm Год назад

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

  • @Lehan111
    @Lehan111 6 месяцев назад

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

  • @НектоСударь
    @НектоСударь Год назад

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

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

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

    • @al.e.k
      @al.e.k 2 года назад +1

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

  • @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 на очередях и так далее, но это уже фантазия...

  • @user-bot-asds
    @user-bot-asds 2 года назад

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

  • @david_shiko
    @david_shiko 2 года назад

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

    • @YntymakPlay
      @YntymakPlay 2 года назад +1

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

    • @david_shiko
      @david_shiko 2 года назад +3

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