내 코드는 내가 동시에 여러 동일한 요청을 보내드립니다 경우 첫 번째 요청이 상태를 업데이트 시간에 얻을 수없는Laravel
public function store(Request $request){
$invite = Invite::where('hash', $request->input('invite_token'))->first();
if($invite->status != 'sent')
return;
$invite->update([
'status' => 'creating_test_instance'
]);
event(new CreatingTestInstance($invite));
$createTestInstanceJob = new CreateTestInstance($invite);
dispatch($createTestInstanceJob);
}
하고
if($invite->status != 'sent') return;
하지 테스트 인스턴스가 여러 번 생성됩니다. 한 번의 초대에서 하나의 Test 인스턴스 만 가질 수 있습니다. 어떻게 보호받을 수 있습니까? 데이터베이스 트랜잭션과 함께 구현되었지만 더 좋은 해결책이 있다면 매우 기쁩니다. 답변 해 주셔서 감사합니다.
가 있는지 확인
. 전송되는 요청 수를 제어 할 수 없으며 그런 방식으로 충돌을 제어 할 수 있습니까? – scottevans93
나는 10 개의 요청을 동시에 전송했는데 그 중 3 개가 검사를 통과했다. –
동일한 초대에 대해 10 건의 요청이있는 이유는 무엇입니까? – scottevans93