Aсинхронный PHP / Антон Шабовта (Onliner)

Поделиться
HTML-код
  • Опубликовано: 16 июл 2020
  • Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
    Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
    --------
    --------
    Презентация и тезисы:
    phprussia.ru/2019/abstracts/5013
    * Разбираемся в блокирующих и неблокирующих операциях в PHP.
    * Структура Event Loop и асинхронных примитивов, таких как Promise изнутри.
    * Генераторы как способ управления потоком исполнения программы.
    * Современные подходы реализации кооперативной многозадачности в PHP.
    * Что нас ждет в ext-async, AMPHP 3 и PHP 8.
    --------
    Нашли ошибку в видео? Пишите нам на support@ontico.ru

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

  • @codingfox
    @codingfox 3 года назад +4

    Вывод: лучше дальше пользоваться старым добрым RabbitMQ и добавлять асинхронщину только там где нужно)

  • @VorobyevAlexander
    @VorobyevAlexander 5 лет назад +1

    А ссылку на статью о которой идет речь на 44:22 поделитесь?

    • @alexanderberman9629
      @alexanderberman9629 4 года назад +1

      nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html наверное речь об этом. Есть русская версия на хабре, если не ошибаюсь

  • @alexeychikilevsky4655
    @alexeychikilevsky4655 3 месяца назад

    "...Интерпретатор, интерпретирует, т.е построчно(!) исполняет каждую строчку кода" - в принципе самое короткое видео могло бы получится, там не нужно ничего дальше:)

  • @lemeshenko
    @lemeshenko Год назад

    Не совсем понятно зачем надо мучатся с event loop если mysql и postgres поддерживают асинхронные запросы

  • @user-ji6ok1bz7d
    @user-ji6ok1bz7d 3 года назад +2

    Да в php можно применять такие манёвры, если дело касается допустим рассылки по разным базам и т.д. Где действительно от этого будет профит. Но в случаи создания сервера на php, это полный треш, разве что запускать для решение временных(коротко живущих) задач. Вся эта идея улетает в пропасть если работать на одном ядре, так как nginx тоже использует event-loop и шаблон реактор, а это само за себя уже говорит что помимо бекенда который будет перезаписывать кеши процессора, будет ещё nginx использовать кеш и само по себе такое использование с nginx на мой взгляд не эффективно. Если же несколько ядер тогда ещё можно как-то указать при создании сокета на каком ядре его обрабатывать, тогда можно отделить работу nginx от event-loop-а php и может быть более эффективно чем доверить ос переключать контексты по разным ядрам самостоятельно, нагло перезаписывая кеши друг друга.. P.S. моё скромное мнение (и возможно ошибочное)

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

    Определения не точны. Асинхронность - это костыль в однопоточном javascript, который позволяет хоть как-то оживить фронт. Надо ли это тянуть в php? Нет, не надо. Это не даст ничего, кроме серьёзного снижения читаемости кода. Swoole - это не про асинхронность, а про многопоточность.