feat(CleanupRedis): add error handling for JSON decode failures in cleanupStuckJobs method

This commit is contained in:
Andras Bacsai 2025-11-11 15:36:34 +01:00
parent 4fa0c581c8
commit eb70fe00ff

View file

@ -378,6 +378,16 @@ private function cleanupStuckJobs($redis, string $prefix, bool $dryRun, bool $is
// Parse job payload to get job class and started time
$payloadData = json_decode($payload, true);
// Check for JSON decode errors
if ($payloadData === null || json_last_error() !== JSON_ERROR_NONE) {
$errorMsg = json_last_error_msg();
$truncatedPayload = is_string($payload) ? substr($payload, 0, 200) : 'non-string payload';
$this->error("Failed to decode job payload for {$keyWithoutPrefix}: {$errorMsg}. Payload: {$truncatedPayload}");
continue;
}
$jobClass = data_get($payloadData, 'displayName', 'Unknown');
// Prefer reserved_at (when job started processing), fallback to created_at