Как поставить begintransaction в очередь?

Вопрос по транзакциям:
Есть скрипт, который изменяет ячейку. Но дело в том, что если я например делаю одновременный запрос с двух устройств, то один запрос (который первый) выполняется, а второй нет. А нужно чтобы выполнялись оба, только в порядке очереди.
Как правильно реализовывать подобное. Не нашел информации по этому вопросу, а может просто не правильно задал вопрос.

DB::beginTransaction();

$balanceNow = Users::find(Auth::id());

if ($balanceNow < $request->sum) {
      return Response::json([
         "errors" => ["Ошибка"]
      ], 422);
}

$response = json_decode(Wallet::send($request->address, $request->sum));
//записи в базе
if ($response->desc == 'OK') {
   DB::commit();
}else{
   DB::rollBack();
}
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Web Developer
Так вам нужны очереди https://laravel.ru/docs/v5/queues, а не транзакции.
Транзакции нужны при записи в базу, в вашем же примере у вас они непонятно зачем
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы