bootstrapWorker(); echo " ✓ Framework bootstrapped\n\n"; // Manually initialize ML Model Management echo " → Manually registering ML Model Management services...\n"; $mlInitializer = new \App\Framework\MachineLearning\ModelManagement\MLModelManagementInitializer($container); $mlInitializer->initialize(); echo " ✓ ML Model Management initialized\n\n"; // Get scheduler services echo "2. Testing Scheduler Services...\n"; $schedulerService = $container->get(SchedulerService::class); echo " ✓ SchedulerService retrieved\n"; $mlScheduler = $container->get(MLMonitoringScheduler::class); echo " ✓ MLMonitoringScheduler retrieved\n\n"; // Schedule all ML monitoring jobs echo "3. Scheduling ML Monitoring Jobs...\n"; try { $mlScheduler->scheduleAll(); echo " ✓ All ML monitoring jobs scheduled\n\n"; } catch (\Throwable $e) { echo " ✗ Scheduling error: " . $e->getMessage() . "\n"; echo " File: " . $e->getFile() . ":" . $e->getLine() . "\n\n"; } // Check scheduled tasks echo "4. Verifying Scheduled Tasks...\n"; try { $dueTasks = $schedulerService->getDueTasks(); echo " ✓ getDueTasks() works\n"; echo " - Currently due tasks: " . count($dueTasks) . "\n"; } catch (\Throwable $e) { echo " ✗ Verification error: " . $e->getMessage() . "\n"; } echo "\n"; // Test immediate execution of due tasks (simulation) echo "5. Testing Task Execution (Simulation)...\n"; try { $results = $schedulerService->executeDueTasks(); echo " ✓ executeDueTasks() completed\n"; echo " - Tasks executed: " . count($results) . "\n"; foreach ($results as $result) { $status = $result->success ? '✓' : '✗'; echo " {$status} {$result->taskName}: "; if ($result->success) { echo "Success\n"; if (!empty($result->returnValue)) { echo " Return: " . json_encode($result->returnValue, JSON_PRETTY_PRINT) . "\n"; } } else { echo "Failed\n"; if ($result->error !== null) { echo " Error: " . $result->error . "\n"; } } } } catch (\Throwable $e) { echo " ✗ Execution error: " . $e->getMessage() . "\n"; echo " File: " . $e->getFile() . ":" . $e->getLine() . "\n"; } echo "\n"; echo "=== Scheduler Test Completed ===\n"; echo "✓ Scheduler integration test successful\n"; } catch (\Throwable $e) { echo "\n!!! FATAL ERROR !!!\n"; echo "Error: " . $e->getMessage() . "\n"; echo "File: " . $e->getFile() . ":" . $e->getLine() . "\n"; echo "\nStack trace:\n" . $e->getTraceAsString() . "\n"; exit(1); }