joshuadunlop commited on
Commit
f5c78ec
·
1 Parent(s): 41866c2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -15,6 +15,9 @@ from io import BytesIO
15
  import base64
16
  import threading
17
  from queue import Queue
 
 
 
18
 
19
  def download_pdf(url, output_path):
20
  urllib.request.urlretrieve(url, output_path)
@@ -241,8 +244,10 @@ class WorkerThread(threading.Thread):
241
  i, question = job
242
  result = generate_answer(question, openAI_key)
243
  self.results.put((i, result))
 
244
  except Exception as e:
245
  self.results.put((i, str(e)))
 
246
 
247
  if generate_all:
248
  questions = [st.session_state.get(f"question{i}", "") for i in range(row_count)]
@@ -252,19 +257,11 @@ if generate_all:
252
 
253
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
254
 
255
- for worker in workers:
256
- worker.start()
257
-
258
- for i, question in enumerate(questions):
259
- jobs.put((i, question))
260
-
261
- for _ in range(num_concurrent_calls):
262
- jobs.put(None)
263
-
264
  for worker in workers:
265
  worker.join()
266
 
267
- # Collect all results first
 
268
  answers = {}
269
  while not results.empty():
270
  i, answer = results.get()
@@ -273,6 +270,9 @@ if generate_all:
273
  else:
274
  answers[i] = answer
275
 
276
- # Update session state in the main thread
 
277
  for i, answer in answers.items():
278
  st.session_state[f'session_answer{i}'] = answer
 
 
 
15
  import base64
16
  import threading
17
  from queue import Queue
18
+ import logging
19
+
20
+ logging.basicConfig(level=logging.INFO)
21
 
22
  def download_pdf(url, output_path):
23
  urllib.request.urlretrieve(url, output_path)
 
244
  i, question = job
245
  result = generate_answer(question, openAI_key)
246
  self.results.put((i, result))
247
+ logging.info(f"Job {i} completed successfully.")
248
  except Exception as e:
249
  self.results.put((i, str(e)))
250
+ logging.error(f"Error on job {i}: {str(e)}")
251
 
252
  if generate_all:
253
  questions = [st.session_state.get(f"question{i}", "") for i in range(row_count)]
 
257
 
258
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
259
 
 
 
 
 
 
 
 
 
 
260
  for worker in workers:
261
  worker.join()
262
 
263
+ logging.info("All worker threads have finished.")
264
+
265
  answers = {}
266
  while not results.empty():
267
  i, answer = results.get()
 
270
  else:
271
  answers[i] = answer
272
 
273
+ logging.info(f"Collected {len(answers)} answers.")
274
+
275
  for i, answer in answers.items():
276
  st.session_state[f'session_answer{i}'] = answer
277
+
278
+ logging.info("Session state updated with answers.")