Интересный случай, не знаю, куда запихать Исходные данные, проект на Yii 2, используются очереди с драйвером через базу, проект развёрнут на виртальной машине с Linux-ом + там xdebug.remote_autostart = 1. Добавляю задачу в очередь, запускаю вручную yii queue/run, и вдруг получаю зависание. Задача зависнуть не может, там простая отправка почты. Эксперементально нашёл, что дело в proc_open, но не мог понять почему. После достаточно продолжительной борьбы выяснялось, что виноват Xdebug и слушающий его phpstorm. Отключаю прослушивание порта в php-storm, очереди работают, включаю - висят
Польза, правда, тоже есть - посмотрел, что вполне можно завести очереди, если proc_open запрещён, к примеру, на шареде (мало ли, куда клиенты захотят сайт поставить). Просто тогда нужно подменить класс команды, в котором перекрыть метод canIsolate, чтоб всегда возвращал false.
yii-queue+xdebug+phpstorm = зависание
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: yii-queue+xdebug+phpstorm = зависание
Думаю, это надо репортить в XDebug.
Нравится Yii? Давайте сделаем его лучше!.