Как инициировать событие после возврата ответа: обработка заказов по электронной почте занимает слишком много времениPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как инициировать событие после возврата ответа: обработка заказов по электронной почте занимает слишком много времени

Сообщение Anonymous »

Я работаю над приложением Laravel, которое представляет собой простую электронную коммерцию со всеми реализованными функциями. Я столкнулся с проблемой: при размещении заказа требуется много времени, чтобы вернуть успешный результат.
Я понял, что проблема возникает из-за уведомлений по электронной почте. У меня есть три электронных письма, которые я должен отправить при создании заказа (новый заказ администратору и клиенту, обновление запасов администратору). Это событие я добавил перед перенаправлением возврата на страницу успеха, поэтому страница успеха отображается только после завершения этих событий.
Как вызвать это событие после успешного возврата или любой другой метод для запуска события ?
public function createOrder(){
$order=new Order;
$order->comment="";
$order->payment_method=$request->payment_method;
$order->payment_status="unpaid";
$order->order_method=$request->order_method;
$order->client_name=$request->billing_first_name;
$order->client_last_name=$request->billing_last_name;
$order->client_email=$request->billing_email;
$order->phone=$request->billing_phone;
$order->order_price=0;
$order->save();

event(new OrderCreated($this->order->id)); // here i'm triggering event. event triggeing properly and emails working properly.

return redirect()->route('order.success', ['order' => $this->order]);

}


Подробнее здесь: https://stackoverflow.com/questions/778 ... e-too-long
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»