Каковы лучшие практики при использовании Laravel заданий и мероприятий - PullRequest
0 голосов
/ 29 февраля 2020

Я разрабатываю внутренний API, который должен сохранять данные в базу данных перед созданием документа PDF с использованием отправляемых динамических c данных. Будет ли наилучшей практикой помещать мою бизнес-логику c, которая обновляет мои модели, в Laravel Job или лучше использовать Laravel Job или Event для создания и сжатия PDF-документа

1 Ответ

1 голос
/ 01 марта 2020

Задания очереди используются для асинхронной обработки задач, которые обычно блокируют выполнение сценария. Например, отправка электронной почты: запрос / ответ с SMTP-сервера может занять до 5 секунд при большой нагрузке, что приводит к остановке сценария на это время, что не подходит для конечного пользователя.

Вопросы, которые повышение: что ты собираешься делать с этим PDF? Собираетесь ли вы сохранить его на диске, отправить по электронной почте или отправить обратно в браузер по тому же запросу?

Для случаев 1 и 2, в зависимости от того, сколько информации хранится в этом PDF, Я бы, наверное, отправил задание на обработку каждого документа. В конце концов, вы можете запустить событие и настроить слушателя на отправку задания, если хотите - это лучше в концепции, но требует больше кода для поддержки.

Для случая 3 я также забуду задания и события , Это синхронная задача, и лучше ее обработать процедурно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...