year}"); $service = new ExportYearDataService($this->year, $this->userId); $downloadLink = $service->handle(); $stats = $service->getStats(); Log::info("ExportYearDataJob completed for year {$this->year}", $stats); event(new SendWebSocketMessageEvent( "Экспорт данных за {$this->year} год завершён!", $this->userId, [ 'success' => true, 'download' => $downloadLink, 'year' => $this->year, 'stats' => $stats, ] )); } catch (Exception $e) { Log::error("ExportYearDataJob failed for year {$this->year}: " . $e->getMessage(), [ 'trace' => $e->getTraceAsString() ]); event(new SendWebSocketMessageEvent( "Ошибка экспорта данных за {$this->year} год: " . $e->getMessage(), $this->userId, [ 'error' => $e->getMessage(), 'year' => $this->year, ] )); } } }