onQueue('tracking'); } public function handle(): void { try { TrackingSearch::create([ 'device_id' => $this->deviceId, 'search_type' => $this->searchType, 'search_query' => $this->searchQuery, 'search_filters' => $this->searchFilters, 'action_at' => $this->actionAt, 'user_agent' => $this->userAgent, 'ip_address' => $this->ipAddress, 'platform' => $this->platform, ]); } catch (\Exception $e) { Log::error('Failed to track search', [ 'device_id' => $this->deviceId, 'search_type' => $this->searchType, 'search_query' => $this->searchQuery, 'error' => $e->getMessage(), ]); throw $e; } } public function failed(\Throwable $exception): void { Log::error('TrackSearchJob failed permanently', [ 'device_id' => $this->deviceId, 'search_type' => $this->searchType, 'search_query' => $this->searchQuery, 'exception' => $exception->getMessage(), ]); } }