logger->debug('Processing webhook job', [ 'job_id' => $job->getJobId(), 'url' => $job->url, 'provider' => $job->provider->toString(), ]); try { // Execute the webhook job $job->execute($this->webhookSender, $this->logger); } catch (\Exception $e) { $this->logger->error('Webhook job processing failed', [ 'job_id' => $job->getJobId(), 'url' => $job->url, 'provider' => $job->provider->toString(), 'error' => $e->getMessage(), ]); // Re-throw to let queue handle failure (retry/dead letter) throw $e; } } /** * Check if processor can handle the job type */ public function canProcess(object $job): bool { return $job instanceof WebhookJob; } /** * Get processor name for queue configuration */ public function getName(): string { return 'webhook'; } /** * Get processor priority for job routing */ public function getPriority(): int { return 0; // Normal priority } }