1.新增游戏实时对局日志,方便排查问题

This commit is contained in:
2026-05-29 14:46:57 +08:00
parent 4bd332a6ff
commit 2a5132d70f
4 changed files with 398 additions and 1 deletions

View File

@@ -322,6 +322,7 @@ final class GameLiveService
{
self::finalizePayoutGrace();
self::tickAutoDraw();
GameLiveStuckDiagnostic::inspectAfterRecovery();
}
public static function buildSnapshot(?int $recordId = null): array
@@ -847,6 +848,12 @@ final class GameLiveService
$lock = GameHotDataLock::tryAcquireWithWait(GameHotDataLock::TYPE_GAME_RECORD, (string) $id, 2000);
if (!$lock['acquired']) {
Log::warning('finalizePayoutGrace: lock not acquired', ['record_id' => $id]);
GameLiveStuckDiagnostic::report('payout_finalize_lock', [
'record_id' => $id,
'period_no' => is_string($row['period_no'] ?? null) ? (string) $row['period_no'] : '',
'phase_label' => '派彩结单 finalizePayoutGrace 拿不到 Redis 行锁',
'hint' => '键名 dfw:v1:lock:mut:gr:' . $id . '2s 内未拿到锁,每秒重试',
], $id);
return;
}
@@ -961,6 +968,8 @@ final class GameLiveService
}
$out = self::drawResult($rid, null);
$periodNo = is_string($record['period_no'] ?? null) ? (string) $record['period_no'] : '';
GameLiveStuckDiagnostic::noteDrawAttempt($rid, $periodNo, $out);
if ($out['ok'] ?? false) {
return;
}
@@ -972,7 +981,7 @@ final class GameLiveService
) {
Log::warning('tickAutoDraw: drawResult failed', [
'record_id' => $rid,
'period_no' => $record['period_no'] ?? '',
'period_no' => $periodNo,
'msg' => $msg,
]);
}