danicor commited on
Commit
3306ea3
·
verified ·
1 Parent(s): 57d7df3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -2
app.py CHANGED
@@ -379,16 +379,28 @@ def process_audio_file_optimized(file_path, task="transcribe", language="auto",
379
  def health_check():
380
  """Health check endpoint"""
381
  model_status = "loaded" if model_manager.pipe is not None else "not_loaded"
 
 
 
 
 
382
  return jsonify({
383
  "status": "healthy",
384
  "model": MODEL_NAME,
385
  "device": str(device),
386
  "model_status": model_status,
387
  "model_timeout_minutes": MODEL_TIMEOUT_MINUTES,
 
 
 
 
 
 
 
 
 
388
  "optimization": {
389
- "fp16": torch.cuda.is_available(),
390
  "batch_size": BATCH_SIZE,
391
- "chunk_length": CHUNK_LENGTH,
392
  "max_workers": MAX_WORKERS
393
  },
394
  "supported_languages": list(SUPPORTED_LANGUAGES.keys())
@@ -673,8 +685,24 @@ def cleanup_model_on_shutdown(exception):
673
  model_manager.cleanup_model()
674
 
675
  if __name__ == '__main__':
 
676
  try:
 
 
 
 
 
 
 
 
 
 
 
 
677
  app.run(host='0.0.0.0', port=7860, debug=False, threaded=True)
 
 
678
  finally:
679
  # پاکسازی نهایی
 
680
  model_manager.cleanup_model()
 
379
  def health_check():
380
  """Health check endpoint"""
381
  model_status = "loaded" if model_manager.pipe is not None else "not_loaded"
382
+
383
+ # بررسی وضعیت حافظه
384
+ import psutil
385
+ memory_info = psutil.virtual_memory()
386
+
387
  return jsonify({
388
  "status": "healthy",
389
  "model": MODEL_NAME,
390
  "device": str(device),
391
  "model_status": model_status,
392
  "model_timeout_minutes": MODEL_TIMEOUT_MINUTES,
393
+ "limits": {
394
+ "max_file_size_mb": FILE_LIMIT_MB,
395
+ "max_audio_duration_seconds": MAX_AUDIO_DURATION,
396
+ "chunk_length_seconds": CHUNK_LENGTH
397
+ },
398
+ "memory": {
399
+ "available_mb": round(memory_info.available / 1024 / 1024),
400
+ "used_percent": memory_info.percent
401
+ },
402
  "optimization": {
 
403
  "batch_size": BATCH_SIZE,
 
404
  "max_workers": MAX_WORKERS
405
  },
406
  "supported_languages": list(SUPPORTED_LANGUAGES.keys())
 
685
  model_manager.cleanup_model()
686
 
687
  if __name__ == '__main__':
688
+ # نصب psutil در صورت عدم وجود
689
  try:
690
+ import psutil
691
+ except ImportError:
692
+ logger.warning("psutil not installed. Memory monitoring disabled.")
693
+
694
+ try:
695
+ # تنظیمات Flask برای فایل‌های بزرگ
696
+ app.config['MAX_CONTENT_LENGTH'] = MAX_FILE_SIZE
697
+ app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
698
+
699
+ logger.info(f"Starting server with max file size: {FILE_LIMIT_MB}MB")
700
+ logger.info(f"Max audio duration: {MAX_AUDIO_DURATION/60:.1f} minutes")
701
+
702
  app.run(host='0.0.0.0', port=7860, debug=False, threaded=True)
703
+ except KeyboardInterrupt:
704
+ logger.info("Server shutdown requested")
705
  finally:
706
  # پاکسازی نهایی
707
+ logger.info("Cleaning up resources...")
708
  model_manager.cleanup_model()