$key = Key::lockForUpdate()->find($id);
Bu doğru bir kullanımmı ? Çalışıp çalışmadığını nasıl test edebilirim.
Laravel pessimistic locking
4
●112
- 25-08-2022, 11:12:52
- 25-08-2022, 11:28:30Test etmek için aşağıdaki kodları kullanabilirsin. Örnek olarak key'in code anahtarı olsun.
$key->update(['code'=>'abc']);
veya
$key->code = 'abc'; $key->save();
- 25-08-2022, 12:12:42Bununla ilgili şu makaleyi de iliştirelim, konuyu görecek herkese faydalı olsun: https://faun.pub/understanding-lockf...l-d31d45c5138e
- 26-08-2022, 16:07:02Yazan herkese teşekkürler öncelikle test için şöyle bir yol izleyebilirsiniz.
public function index() { DB::beginTransaction(); $key = Key::lockForUpdate()->where('status' , "1")->where('game_id' , 1)->count(); sleep(5); DB::commit(); return $key; } public function index2() { DB::beginTransaction(); $key = Key::lockForUpdate()->where('status' , "1")->where('game_id' , 1)->count(); DB::commit(); return $key; }