dynamite-072 commited on
Commit
8eee24d
·
1 Parent(s): e4132f2

Add ffmpeg and better error logging

Browse files
Files changed (2) hide show
  1. Dockerfile +2 -0
  2. pocket_tts/main.py +12 -5
Dockerfile CHANGED
@@ -5,6 +5,8 @@ WORKDIR /app
5
  # Install system dependencies
6
  RUN apt-get update && apt-get install -y \
7
  git \
 
 
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
  # Install uv for fast package management
 
5
  # Install system dependencies
6
  RUN apt-get update && apt-get install -y \
7
  git \
8
+ build-essential \
9
+ ffmpeg \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
  # Install uv for fast package management
pocket_tts/main.py CHANGED
@@ -111,19 +111,26 @@ def write_to_queue(queue, text_to_generate, model_state, **kwargs):
111
  def generate_data_with_state(text_to_generate: str, model_state: dict, **kwargs):
112
  queue = Queue()
113
 
 
 
 
 
 
 
 
114
  # Run your function in a thread
115
- thread = threading.Thread(
116
- target=write_to_queue, args=(queue, text_to_generate, model_state), kwargs=kwargs
117
- )
118
  thread.start()
119
 
120
  # Yield data as it becomes available
121
- i = 0
122
  while True:
123
  data = queue.get()
124
  if data is None:
125
  break
126
- i += 1
 
 
 
127
  yield data
128
 
129
  thread.join()
 
111
  def generate_data_with_state(text_to_generate: str, model_state: dict, **kwargs):
112
  queue = Queue()
113
 
114
+ def worker():
115
+ try:
116
+ write_to_queue(queue, text_to_generate, model_state, **kwargs)
117
+ except Exception as e:
118
+ logger.error(f"Error in generation worker: {e}", exc_info=True)
119
+ queue.put(e) # Send exception to main thread
120
+
121
  # Run your function in a thread
122
+ thread = threading.Thread(target=worker)
 
 
123
  thread.start()
124
 
125
  # Yield data as it becomes available
 
126
  while True:
127
  data = queue.get()
128
  if data is None:
129
  break
130
+ if isinstance(data, Exception):
131
+ # Re-raise the exception to abort the stream (will cause 500 on client if headers not sent, or truncated stream)
132
+ logger.error("Re-raising exception from worker in generator")
133
+ raise data
134
  yield data
135
 
136
  thread.join()