• Какое максимальное количество очередей(queues) может переварить Laravel?

    Enokin
    @Enokin
    Full-stack разработчик
    Laravel не имеет конкретного ограничения на максимальное количество очередей, которые он может обрабатывать. Фактическое количество очередей, которые можно обработать, зависит от различных факторов, таких как спецификации железа сервера, размера очередей и мощности обработки для каждого задания в очереди.

    В целом, возможно обрабатывать тысячи очередей в Laravel, но это в конечном итоге зависит от ресурсов, доступных на сервере и нагрузки на каждое задание в очереди. Если вам нужно обрабатывать большое количество очередей, вы можете рассмотреть использование пула рабочих очередей и настройку нескольких процессов для обработки нагрузки. Это поможет распределить нагрузку
    Ответ написан
    Комментировать
  • Как правильно выстраивать архитектуру метода контроллера на laravel?

    @jazzus
    Не нужно ничего крутить. См Policy, Model Binding и Localization в документации Ларавел.
    Ответ написан
    Комментировать
  • Нормальная ли такая практика?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    @if ($course->discount_exists)
        <s class="courses-body__price_crossed">
            {{$course->price->price}}$
        </s>  
    @endif
    <span class="courses-body__price">
        {{$course->price->price_with_discount}}$
    </span>


    public function getPriceWithDisacountAttribute(){
        return $this->price - $this->discount;
    }
    Ответ написан
    4 комментария
  • Как правильно строить крупный проект?

    @vism
    Называется, услышал звон, да не знаю где он.

    1. Сервисный слой ты превратил в контроллер.
    Т.е. у тебя есть контроллер, а ты создал ещё один, т.к. где-то слышал, что нужны сервисы.
    Но, сервисы не шлют ответы, это внутренний слой для отделения логики.
    Ты можешь те методы вызвать через консоль, другие сервисы и т.п.
    Там должен просто генерироваться return, а сам response уже в контроллере (чтоб контроллер своб функцию выполнял). Валидацию реквеста кстати тоже надо делать не в сервесе.

    2. CategoryQuery - это вобще дичь дикая.
    Ты опять создаёшь дубликат, потому что услышал о репозиториях, и даже интерфейс. Вот я угараю с людей, кто везде пихает интерфейсы. Интерфейсы нужны там, где они нужны. Где будет 2+ наследователей интерфейса.
    Откуда у тебя тут наследники, если ты завязан на элокуент?
    А ноги от индусов репозитаристов. Не нужен репозитарий, Query и интерфейсы при работе в элокуент. Он сам в себе это всё уже содержит и все повторяющиеся вещи обёрнуты уже. find, first, firstOrNew и т.д.
    Так что используй элокуент и не переусложняй проект напрасно. Не надо делать сложно, делай просто.

    3. CategoryAction.
    Опять интерфейс...
    Вот это Экшн по сути у тебя сервис. Тут ты имеено перенёс бизнес логику создания и редактирования и возвращаешь ответ данного метода. Вот удали свой CategoryAction и перенеси методы в сервис.
    Ответ написан
    30 комментариев
  • Как получить последнюю актуальную строку таблицы при параллельных запросах?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Либо транзакция с блокировкой таблицы, либо атомарный запрос, типа
    INSERT INTO `table` (`last_data`)
      WITH `cte` (`max`) AS (
        SELECT MAX(`last_data`)
          FROM `table`
      ) SELECT `max` + 50000 FROM `cte`;
    Ответ написан
    Комментировать
  • Как бы вы сделали бэкенд для такого приложения?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    «В радиусе 100 метров» это круг, вписанный в квадрат 200x200 метров.
    Поэтому выбрать только те, что находятся по X-координате в +-100 метрах. Из них только те, что по Y-координате в +-100 метрах. Из этой выборки проверить каждый на расстояние от точки центра.

    Если в БД сделать индексы по X и Y координатам, такая выборка будет быстрой.

    Понадобится вычислять координаты углов квадрата, переводя широту, долготу в метры (+–100) и обратно в широту, долготу. Поможет формула.

    Можно решить задачу целиком в MySQL – в презентации есть пример запроса и его дальнейшей оптимизации.
    Ответ написан
    1 комментарий
  • Php5.5: The json extension is missing?

    @hell

    и проверьте в etc/php5...conf.d, пролинковано ли расширение

    Ответ написан
    Комментировать