Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| import subprocess | |
| import time | |
| import requests | |
| import json | |
| # Start the server in the background | |
| print("Starting server...") | |
| server_process = subprocess.Popen( | |
| ["python3", "start.py"], | |
| env={"PORT": "8005"}, | |
| stdout=subprocess.PIPE, | |
| stderr=subprocess.PIPE | |
| ) | |
| # Wait for server to start | |
| time.sleep(8) | |
| try: | |
| # Test health endpoint first | |
| response = requests.get("http://localhost:8005/health", timeout=10) | |
| print(f"Health check: {response.status_code}") | |
| health_data = response.json() | |
| print(f"Model loaded: {health_data.get('model_loaded')}") | |
| # Test prediction endpoint with sample data | |
| prediction_data = { | |
| "year": 2024, | |
| "state": "Punjab", | |
| "crop": "Rice", | |
| "season": "Kharif", | |
| "area": 10.0, | |
| "production": 25.0, | |
| "rainfall": 1200, | |
| "fertilizer": 75, | |
| "pesticide": 8 | |
| } | |
| response = requests.post( | |
| "http://localhost:8005/predict", | |
| json=prediction_data, | |
| timeout=10 | |
| ) | |
| print(f"Prediction status: {response.status_code}") | |
| if response.status_code == 200: | |
| print("✅ Prediction successful!") | |
| print(response.json()) | |
| else: | |
| print("❌ Prediction failed:") | |
| print(response.text) | |
| except Exception as e: | |
| print(f"Error testing: {e}") | |
| finally: | |
| # Stop the server | |
| server_process.terminate() | |
| server_process.wait() | |
| print("Server stopped") | |