option('queue_name'); // Log start of process Log::info('Starting daily statement export process', [ 'queue_name' => $queueName ?? 'default', 'command' => 'webstatement:export-statements' ]); $this->info('Starting daily statement export process...'); $this->info('Queue Name: ' . ($queueName ?? 'default')); try { $controller = app(WebstatementController::class); // Pass queue name to controller if needed // Jika controller membutuhkan queue name, bisa ditambahkan sebagai parameter $response = $controller->index($queueName); $responseData = json_decode($response->getContent(), true); $message = $responseData['message'] ?? 'Export process completed'; $this->info($message); // Display summary of jobs queued $jobCount = count($responseData['jobs'] ?? []); $this->info("Successfully queued {$jobCount} statement export jobs"); $this->info("Jobs dispatched to queue: {$queueName}"); // Log successful completion Log::info('Daily statement export process completed successfully', [ 'message' => $message, 'job_count' => $jobCount, 'queue_name' => $queueName ?? 'default' ]); return Command::SUCCESS; } catch (Exception $e) { $errorMessage = 'Error exporting statements: ' . $e->getMessage(); $this->error($errorMessage); // Log error with queue information Log::error($errorMessage, [ 'exception' => $e->getTraceAsString(), 'queue_name' => $queueName ?? 'default' ]); return Command::FAILURE; } } }