seawolf2357 commited on
Commit
64ad997
Β·
verified Β·
1 Parent(s): 58017b2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -13
app.py CHANGED
@@ -55,11 +55,16 @@ from config import DEMO_LIST
55
  import sqlite3
56
  from datetime import datetime
57
 
58
-
59
  def init_db():
60
  try:
61
  conn = sqlite3.connect('chat_history.db')
62
  c = conn.cursor()
 
 
 
 
 
 
63
  c.execute('''CREATE TABLE IF NOT EXISTS sessions
64
  (session_id TEXT PRIMARY KEY,
65
  created_at TIMESTAMP)''')
@@ -73,19 +78,35 @@ def init_db():
73
  conn.commit()
74
  except sqlite3.Error as e:
75
  print(f"Database error: {e}")
 
76
  finally:
77
  if conn:
78
  conn.close()
79
 
80
- # μƒˆλ‘œμš΄ μ„Έμ…˜ 생성
81
  def create_session():
82
- session_id = datetime.now().strftime("%Y%m%d_%H%M%S")
83
- conn = sqlite3.connect('chat_history.db')
84
- c = conn.cursor()
85
- c.execute("INSERT INTO sessions VALUES (?, ?)", (session_id, datetime.now()))
86
- conn.commit()
87
- conn.close()
88
- return session_id
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
  # λŒ€ν™” λ‚΄μš© μ €μž₯
91
  def save_chat(session_id, prompt, response):
@@ -581,7 +602,11 @@ with gr.Blocks(css_paths="app.css",theme=theme) as demo:
581
 
582
 
583
  if __name__ == "__main__":
584
- init_db()
585
- clear_expired_sessions() # 만료된 μ„Έμ…˜ 정리
586
- demo_instance = Demo()
587
- demo.queue(default_concurrency_limit=20).launch(ssr_mode=False)
 
 
 
 
 
55
  import sqlite3
56
  from datetime import datetime
57
 
 
58
  def init_db():
59
  try:
60
  conn = sqlite3.connect('chat_history.db')
61
  c = conn.cursor()
62
+
63
+ # κΈ°μ‘΄ ν…Œμ΄λΈ” μ‚­μ œ (선택적)
64
+ c.execute("DROP TABLE IF EXISTS chat_history")
65
+ c.execute("DROP TABLE IF EXISTS sessions")
66
+
67
+ # ν…Œμ΄λΈ” μƒˆλ‘œ 생성
68
  c.execute('''CREATE TABLE IF NOT EXISTS sessions
69
  (session_id TEXT PRIMARY KEY,
70
  created_at TIMESTAMP)''')
 
78
  conn.commit()
79
  except sqlite3.Error as e:
80
  print(f"Database error: {e}")
81
+ raise
82
  finally:
83
  if conn:
84
  conn.close()
85
 
86
+
87
  def create_session():
88
+ max_attempts = 5
89
+ for attempt in range(max_attempts):
90
+ try:
91
+ # λ°€λ¦¬μ΄ˆκΉŒμ§€ ν¬ν•¨ν•œ 더 μƒμ„Έν•œ νƒ€μž„μŠ€νƒ¬ν”„ μ‚¬μš©
92
+ session_id = datetime.now().strftime("%Y%m%d_%H%M%S_%f")
93
+ conn = sqlite3.connect('chat_history.db')
94
+ c = conn.cursor()
95
+ c.execute("INSERT INTO sessions VALUES (?, ?)", (session_id, datetime.now()))
96
+ conn.commit()
97
+ conn.close()
98
+ return session_id
99
+ except sqlite3.IntegrityError:
100
+ if attempt == max_attempts - 1:
101
+ raise
102
+ time.sleep(0.1) # μž μ‹œ λŒ€κΈ° ν›„ μž¬μ‹œλ„
103
+ finally:
104
+ if 'conn' in locals():
105
+ conn.close()
106
+
107
+ raise Exception("Failed to create unique session ID after multiple attempts")
108
+
109
+
110
 
111
  # λŒ€ν™” λ‚΄μš© μ €μž₯
112
  def save_chat(session_id, prompt, response):
 
602
 
603
 
604
  if __name__ == "__main__":
605
+ try:
606
+ init_db()
607
+ clear_expired_sessions()
608
+ demo_instance = Demo()
609
+ demo.queue(default_concurrency_limit=20).launch(ssr_mode=False)
610
+ except Exception as e:
611
+ print(f"Initialization error: {e}")
612
+ raise