Spaces:
Paused
Paused
| # app.py - Main entry point for Hugging Face Spaces | |
| import os | |
| import logging | |
| from server import app | |
| # Konfigurasi logging dasar | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format='[%(asctime)s] [%(levelname)s] %(message)s' | |
| ) | |
| # -------------------------------------------------------------------------- | |
| # PENTING: Inisialisasi model di sini agar Gunicorn bisa menjalankannya | |
| # -------------------------------------------------------------------------- | |
| # Model sekarang diinisialisasi secara otomatis di dalam server.py | |
| # saat modul tersebut diimpor oleh Gunicorn dengan opsi --preload. | |
| # Tidak perlu lagi memanggil fungsi apapun di sini. | |
| logging.info("β server.py module imported, models are initialized by Gunicorn --preload.") | |
| # -------------------------------------------------------------------------- | |
| # Blok di bawah ini hanya untuk testing lokal (dijalankan dengan `python app.py`) | |
| # Gunicorn akan MENGABAIKAN blok ini. | |
| # -------------------------------------------------------------------------- | |
| if __name__ == "__main__": | |
| # Dapatkan port dari environment (Hugging Face menggunakan 7860) | |
| port = int(os.environ.get("PORT", 7860)) | |
| # Mulai aplikasi | |
| logging.info(f"π Starting Flask development server on port {port}") | |
| # Model sudah diinisialisasi saat 'from server import app' dijalankan | |
| app.run( | |
| host="0.0.0.0", | |
| port=port, | |
| debug=False, | |
| threaded=True | |
| ) |