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

This commit is contained in:
Andras Bacsai 2025-11-11 15:40:11 +01:00
parent 49a3bb0daf
commit a95e92f098

View file

@ -388,6 +388,15 @@ private function cleanupStuckJobs($redis, string $prefix, bool $dryRun, bool $is
continue;
}
// 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