home.social

#laravel — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #laravel, aggregated by home.social.

  1. 🚀 New Laravel AI SDK feature alert! Now you can approve AI agent tool calls before they go live. Safety first, right? #Laravel #AI

    laravelmagazine.com/laravel-ai

  2. 🚀 New Laravel AI SDK feature alert! Now you can approve AI agent tool calls before they go live. Safety first, right? #Laravel #AI

    laravelmagazine.com/laravel-ai

  3. Очереди, которых нет в конфиге: динамические супервизоры Laravel Horizon

    Очереди задач — одна из тех вещей, которые настраивают один раз и больше не трогают. Конфиг описывает известные потоки фоновых работ, деплой раскатывает его, воркеры поднимаются и делают своё дело. Так работает в подавляющем большинстве проектов. А что если появляется необходимость запускать максимально изолированные задачи, которыми должен управлять пользователь, а не разработчик: создавать, запускать, останавливать? Это единица, которую надо изолировать, появляется и исчезает между деплоями, а единственный способ рассказать об этом системе — отредактировать конфиг и раскатать всё заново. В Laravel Horizon документация заканчивается на конфиге и паре artisan-команд про то, как поднять супервизоры, настроить воркеры, их масштабирование и указать очереди. А что, если нам нужно создать свои собственные очереди и их воркеры в рантайме? Об этом документация молчит. Но если прочитать исходники, выясняется, что конфиг — не единственный источник истины. Это статья про построение динамических очередей поверх статического конфига Laravel Horizon, используя внутренние недокументированные механизмы, которые Horizon сам использует внутри себя. Про архитектуру с автоматическим восстановлением консенсуса, разрешением ошибок и оптимизацией памяти для долго живущих очередей.

    habr.com/ru/articles/1085278/

    #laravel #horizon #queues #очереди #очереди_в_laravel

  4. Очереди, которых нет в конфиге: динамические супервизоры Laravel Horizon

    Очереди задач — одна из тех вещей, которые настраивают один раз и больше не трогают. Конфиг описывает известные потоки фоновых работ, деплой раскатывает его, воркеры поднимаются и делают своё дело. Так работает в подавляющем большинстве проектов. А что если появляется необходимость запускать максимально изолированные задачи, которыми должен управлять пользователь, а не разработчик: создавать, запускать, останавливать? Это единица, которую надо изолировать, появляется и исчезает между деплоями, а единственный способ рассказать об этом системе — отредактировать конфиг и раскатать всё заново. В Laravel Horizon документация заканчивается на конфиге и паре artisan-команд про то, как поднять супервизоры, настроить воркеры, их масштабирование и указать очереди. А что, если нам нужно создать свои собственные очереди и их воркеры в рантайме? Об этом документация молчит. Но если прочитать исходники, выясняется, что конфиг — не единственный источник истины. Это статья про построение динамических очередей поверх статического конфига Laravel Horizon, используя внутренние недокументированные механизмы, которые Horizon сам использует внутри себя. Про архитектуру с автоматическим восстановлением консенсуса, разрешением ошибок и оптимизацией памяти для долго живущих очередей.

    habr.com/ru/articles/1085278/

    #laravel #horizon #queues #очереди #очереди_в_laravel

  5. Очереди, которых нет в конфиге: динамические супервизоры Laravel Horizon

    Очереди задач — одна из тех вещей, которые настраивают один раз и больше не трогают. Конфиг описывает известные потоки фоновых работ, деплой раскатывает его, воркеры поднимаются и делают своё дело. Так работает в подавляющем большинстве проектов. А что если появляется необходимость запускать максимально изолированные задачи, которыми должен управлять пользователь, а не разработчик: создавать, запускать, останавливать? Это единица, которую надо изолировать, появляется и исчезает между деплоями, а единственный способ рассказать об этом системе — отредактировать конфиг и раскатать всё заново. В Laravel Horizon документация заканчивается на конфиге и паре artisan-команд про то, как поднять супервизоры, настроить воркеры, их масштабирование и указать очереди. А что, если нам нужно создать свои собственные очереди и их воркеры в рантайме? Об этом документация молчит. Но если прочитать исходники, выясняется, что конфиг — не единственный источник истины. Это статья про построение динамических очередей поверх статического конфига Laravel Horizon, используя внутренние недокументированные механизмы, которые Horizon сам использует внутри себя. Про архитектуру с автоматическим восстановлением консенсуса, разрешением ошибок и оптимизацией памяти для долго живущих очередей.

    habr.com/ru/articles/1085278/

    #laravel #horizon #queues #очереди #очереди_в_laravel

  6. Как я переписал каталог из 500 000 SVG‑иконок с Laravel на Go и уменьшил сервер с 4/6 ГБ до 2/2 ГБ

    Больше года назад я запустил SVG4 — каталог векторных иконок. Сейчас в нём больше 500 000 SVG‑файлов. Первая версия была написана на Laravel. На тот момент выбор был простой: Laravel я хорошо знал, на нём можно было быстро собрать рабочий проект и проверить, нужен ли он вообще кому‑нибудь. Проект вырос. Вместе с ним выросли база, количество страниц, поисковый трафик и нагрузка. Старая версия работала на сервере с 4 ядрами и 6 ГБ оперативной памяти. После переписывания на Go весь проект работает на 2 ядрах и 2 ГБ RAM. При этом я не ставил задачу доказать, что Go быстрее PHP. За время переписывания изменилась не только технология, но и сама архитектура приложения. Именно об этом переходе и хочу рассказать.

    habr.com/ru/articles/1084694/

    #разработка #сайт #каталог #svg #рефакторинг #go #php #laravel

  7. Как я переписал каталог из 500 000 SVG‑иконок с Laravel на Go и уменьшил сервер с 4/6 ГБ до 2/2 ГБ

    Больше года назад я запустил SVG4 — каталог векторных иконок. Сейчас в нём больше 500 000 SVG‑файлов. Первая версия была написана на Laravel. На тот момент выбор был простой: Laravel я хорошо знал, на нём можно было быстро собрать рабочий проект и проверить, нужен ли он вообще кому‑нибудь. Проект вырос. Вместе с ним выросли база, количество страниц, поисковый трафик и нагрузка. Старая версия работала на сервере с 4 ядрами и 6 ГБ оперативной памяти. После переписывания на Go весь проект работает на 2 ядрах и 2 ГБ RAM. При этом я не ставил задачу доказать, что Go быстрее PHP. За время переписывания изменилась не только технология, но и сама архитектура приложения. Именно об этом переходе и хочу рассказать.

    habr.com/ru/articles/1084694/

    #разработка #сайт #каталог #svg #рефакторинг #go #php #laravel

  8. Как я переписал каталог из 500 000 SVG‑иконок с Laravel на Go и уменьшил сервер с 4/6 ГБ до 2/2 ГБ

    Больше года назад я запустил SVG4 — каталог векторных иконок. Сейчас в нём больше 500 000 SVG‑файлов. Первая версия была написана на Laravel. На тот момент выбор был простой: Laravel я хорошо знал, на нём можно было быстро собрать рабочий проект и проверить, нужен ли он вообще кому‑нибудь. Проект вырос. Вместе с ним выросли база, количество страниц, поисковый трафик и нагрузка. Старая версия работала на сервере с 4 ядрами и 6 ГБ оперативной памяти. После переписывания на Go весь проект работает на 2 ядрах и 2 ГБ RAM. При этом я не ставил задачу доказать, что Go быстрее PHP. За время переписывания изменилась не только технология, но и сама архитектура приложения. Именно об этом переходе и хочу рассказать.

    habr.com/ru/articles/1084694/

    #разработка #сайт #каталог #svg #рефакторинг #go #php #laravel

  9. Today I released Laravel GitHash 1.10.0 to support Laravel 13.

    With thanks to @Sjors1985 for the MR.

    The package is to get the current git hash (short or long) in your Laravel application.

    packagist.org/packages/tjvb/la

    #PHP #PHP85 #Laravel #release #oss

  10. Today I released Laravel GitHash 1.10.0 to support Laravel 13.

    With thanks to @Sjors1985 for the MR.

    The package is to get the current git hash (short or long) in your Laravel application.

    packagist.org/packages/tjvb/la

    #PHP #PHP85 #Laravel #release #oss

  11. Today I released Laravel GitHash 1.10.0 to support Laravel 13.

    With thanks to @Sjors1985 for the MR.

    The package is to get the current git hash (short or long) in your Laravel application.

    packagist.org/packages/tjvb/la

    #PHP #PHP85 #Laravel #release #oss