Laravel Horizon

Познакомился недавно с laravel horizon, очень прикольная, а главное полезная штука для моих проектов.

Некое управление джобами и очередями в лаврухе с удобной админой со всякой метрикой и управлением джобами.

Не буду пересказывать вам что оно из себя представляет т.к. в официальной доке все написано, НО столкнулся с проблемой, что у меня были очень долги джобы связанные с запросами на сторонние сервисы для сбора большой информации и поэтому джоба часто улетала в тайм аут . Вы скажете почему ты ее не разобьешь на еще другие джобы, но это не решит проблему, вообщем после серфинга и перебора кучи документации узнал про флаг —timeout я думаю обьяснять зачем не стоит, так как тут все понятно 🙂 (не знаю как обьяснить 😀 )

Вообщем поставил на 0 и все работало как надо

В horizon так не сработало, так как он работает только с redis, а до этого у меня были очереди через database коннектор, поэтому после долгих мучений, проб и ошибок , было выяснено что в конфиге очередей, а именно в коннекторе redis, есть флаг retry_after, который то и отвечал за переконнект.

Короче поставил таумаут 0, а ретрай больше. Вроде сработало и работает. Будем смотреть что будет дальше

А так очень удобная фича, особенно порадовало распределение воркеров по нагрузке очередей.

Puphpeteer или библиотека для веб скрапинга

Недавно пришлось переписать скрипт с py3 на php из-за частых зависаний (зомби процессов). Кстати, все тот же хром только типа консольная версия.

Оказывается используваемая библиотека написанная на nodejs, которую я использовал для питона есть и на пехепе.

Вот же она https://github.com/nesk/puphpeteer — интерфейс

Дока самой библиотеки https://github.com/GoogleChrome/puppeteer/

Был очень приятно удивлен, что есть такие фичи типа тайм аута и ожидание от процесса каких либо действий (типа защита от зомби процесса). Почему то в прослойке для питона таких там нет или я плохо искал на протяжении года 🙂

Вроде все работает быстрее и без зависаний, что главное было достигнуто.

Надеюсь теперь не нужно будет каждый раз заходить на сервер, проверять логи, не зависли ли скрипты, затем убивать процессы и удалять pid (не спрашивайте почему 🙂 )

Вообщем юзайте пехепешники 🙂 GL & WS (Web scrapping)