fomext commited on
Commit
7c483bf
·
verified ·
1 Parent(s): 5295d97

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -50,20 +50,26 @@ class GenerationTimeout(Exception):
50
  def timeout_handler(signum, frame):
51
  raise GenerationTimeout()
52
 
 
 
53
  def worker():
54
  while True:
55
  job_id = job_queue.get()
56
  job = jobs.get(job_id)
57
 
58
- try:
59
- jobs[job_id]["status"] = JobStatus.PROCESSING
 
60
 
61
- signal.signal(signal.SIGALRM, timeout_handler)
62
- signal.alarm(420) # 7 minutes max
63
 
 
64
  wav = model.generate([job["prompt"]])[0]
65
 
66
- signal.alarm(0)
 
 
67
 
68
  filename = f"{job_id}.wav"
69
  path = os.path.join(OUTPUT_DIR, filename)
@@ -81,12 +87,6 @@ def worker():
81
  "file_path": path
82
  })
83
 
84
- except GenerationTimeout:
85
- jobs[job_id].update({
86
- "status": JobStatus.FAILED,
87
- "error": "Generation timed out (CPU limit)"
88
- })
89
-
90
  except Exception as e:
91
  jobs[job_id].update({
92
  "status": JobStatus.FAILED,
 
50
  def timeout_handler(signum, frame):
51
  raise GenerationTimeout()
52
 
53
+ MAX_RUNTIME = 600 # 10 minutes (CPU-safe)
54
+
55
  def worker():
56
  while True:
57
  job_id = job_queue.get()
58
  job = jobs.get(job_id)
59
 
60
+ if not job:
61
+ job_queue.task_done()
62
+ continue
63
 
64
+ start_time = time.time()
65
+ jobs[job_id]["status"] = JobStatus.PROCESSING
66
 
67
+ try:
68
  wav = model.generate([job["prompt"]])[0]
69
 
70
+ elapsed = time.time() - start_time
71
+ if elapsed > MAX_RUNTIME:
72
+ raise TimeoutError("Generation exceeded max runtime")
73
 
74
  filename = f"{job_id}.wav"
75
  path = os.path.join(OUTPUT_DIR, filename)
 
87
  "file_path": path
88
  })
89
 
 
 
 
 
 
 
90
  except Exception as e:
91
  jobs[job_id].update({
92
  "status": JobStatus.FAILED,