add DB::transaction to catch looked query

This commit is contained in:
salam committed 2026-02-16 10:02:07 +01:00
1 parent f1b0f43ded
commit 65dc70e681
38 files changed
+218 -266

No files matched your search

@@ -3,7 +3,6 @@
namespace App\Console\Commands\Grapper\TxOdds\Odds\Tools;
use Illuminate\Support\Facades\DB;
use PDOException;
class ActiveSpread
{
@@ -41,49 +40,17 @@ class ActiveSpread
DB::table($table)->where('event_id', $event_id)->where('bookmaker_id', $bookmaker_id)->update(['active_spread' => 0]);
if (in_array($table, ['odds_points', 'odds_points_ht', 'odds_points_q1'])) {
$max_tries = 5;
$tries = 0;
do {
$retry = false;
try {
$query = DB::table($table)
->where('event_id', $event_id)
->where('bookmaker_id', $bookmaker_id)
->where('handicap', (float) $value['active_spread'])
->update(['active_spread' => 1]);
return $query;
} catch (PDOException $exc) {
if ($tries < $max_tries && $exc->errorInfo[0] == 40001 && $exc->errorInfo[1] == 1213) {
$retry = true;
sleep(1);
} else {
throw $exc;
}
}
} while ($retry);
DB::table($table)
->where('event_id', $event_id)
->where('bookmaker_id', $bookmaker_id)
->where('handicap', (float) $value['active_spread'])
->update(['active_spread' => 1]);
} else {
$max_tries = 5;
$tries = 0;
do {
$retry = false;
try {
$query = DB::table($table)
->where('event_id', $event_id)
->where('bookmaker_id', $bookmaker_id)
->where('total', (float) $value['active_spread'])
->update(['active_spread' => 1]);
return $query;
} catch (PDOException $exc) {
if ($tries < $max_tries && $exc->errorInfo[0] == 40001 && $exc->errorInfo[1] == 1213) {
$retry = true;
sleep(1);
} else {
throw $exc;
}
}
} while ($retry);
DB::table($table)
->where('event_id', $event_id)
->where('bookmaker_id', $bookmaker_id)
->where('total', (float) $value['active_spread'])
->update(['active_spread' => 1]);
}
}
}