Spaces:
Runtime error
Runtime error
Commit
·
a28c21c
1
Parent(s):
bda1c4c
fix
Browse files
app.py
CHANGED
|
@@ -360,8 +360,8 @@ def fix_markdown(text):
|
|
| 360 |
async def add_user_id_and_state_cookie(request: Request, call_next):
|
| 361 |
user_id = request.cookies.get("user_id")
|
| 362 |
state = request.cookies.get("state")
|
|
|
|
| 363 |
response = await call_next(request)
|
| 364 |
-
|
| 365 |
if not user_id:
|
| 366 |
user_id = str(uuid.uuid4())
|
| 367 |
state = "generate"
|
|
@@ -370,6 +370,7 @@ async def add_user_id_and_state_cookie(request: Request, call_next):
|
|
| 370 |
elif not state:
|
| 371 |
state = "generate"
|
| 372 |
response.set_cookie(key="state", value=state)
|
|
|
|
| 373 |
return response
|
| 374 |
|
| 375 |
@app.get("/user_id")
|
|
@@ -382,7 +383,7 @@ async def get_user_id(request: Request):
|
|
| 382 |
|
| 383 |
@app.get("/", response_class=HTMLResponse)
|
| 384 |
def form_get():
|
| 385 |
-
return Template(html_template).render(idea= "This is a example of the idea geneartion", error=None, reply_count=reply_count,button_text="Generate",loading_text="Generating content, Usually takes
|
| 386 |
|
| 387 |
@app.post("/", response_class=HTMLResponse)
|
| 388 |
def form_post(request: Request,response: Response,topic: str = Form(...)):
|
|
@@ -397,27 +398,28 @@ def form_post(request: Request,response: Response,topic: str = Form(...)):
|
|
| 397 |
response.set_cookie(key="state", value=state)
|
| 398 |
|
| 399 |
print(user_id,state)
|
| 400 |
-
loading_text = "Generating content, Usually takes
|
| 401 |
if state == "generate":
|
| 402 |
if not queue.empty():
|
| 403 |
queue_len = queue.qsize()
|
| 404 |
if queue_len + reply_count >= MAX_REPLIES_PER_DAY:
|
| 405 |
error_message = "Today's maximum number of replies has been reached. Please try again tomorrow."
|
| 406 |
return Template(html_template).render(idea="", error=error_message, reply_count=reply_count, button_text="Generate",loading_text=loading_text)
|
| 407 |
-
error_message = "There are currently {} requests being processed. If you want to queue, please
|
| 408 |
new_state = "continue"
|
| 409 |
new_button_text = "Continue"
|
| 410 |
response.set_cookie(key="state", value=new_state)
|
| 411 |
-
return Template(html_template).render(idea="", error=error_message, reply_count=reply_count, button_text=new_button_text,loading_text=f"Generating content, Usually takes {queue_len*
|
| 412 |
|
| 413 |
-
queue.put(user_id)
|
| 414 |
new_state = "generate"
|
| 415 |
new_button_text = "Generate"
|
| 416 |
response.set_cookie(key="state", value=new_state)
|
| 417 |
queue_len = queue.qsize()
|
| 418 |
|
| 419 |
# 判断当前是否轮到该用户,如果没轮到则一直等待到轮到为止
|
| 420 |
-
while queue.queue[0] != user_id:
|
|
|
|
| 421 |
continue
|
| 422 |
|
| 423 |
with lock:
|
|
|
|
| 360 |
async def add_user_id_and_state_cookie(request: Request, call_next):
|
| 361 |
user_id = request.cookies.get("user_id")
|
| 362 |
state = request.cookies.get("state")
|
| 363 |
+
print(f"Before call_next: user_id={user_id}, state={state}")
|
| 364 |
response = await call_next(request)
|
|
|
|
| 365 |
if not user_id:
|
| 366 |
user_id = str(uuid.uuid4())
|
| 367 |
state = "generate"
|
|
|
|
| 370 |
elif not state:
|
| 371 |
state = "generate"
|
| 372 |
response.set_cookie(key="state", value=state)
|
| 373 |
+
print(f"After call_next: user_id={user_id}, state={state}")
|
| 374 |
return response
|
| 375 |
|
| 376 |
@app.get("/user_id")
|
|
|
|
| 383 |
|
| 384 |
@app.get("/", response_class=HTMLResponse)
|
| 385 |
def form_get():
|
| 386 |
+
return Template(html_template).render(idea= "This is a example of the idea geneartion", error=None, reply_count=reply_count,button_text="Generate",loading_text="Generating content, Usually takes 3-4 minutes, please wait...")
|
| 387 |
|
| 388 |
@app.post("/", response_class=HTMLResponse)
|
| 389 |
def form_post(request: Request,response: Response,topic: str = Form(...)):
|
|
|
|
| 398 |
response.set_cookie(key="state", value=state)
|
| 399 |
|
| 400 |
print(user_id,state)
|
| 401 |
+
loading_text = "Generating content, Usually takes 3-4 minutes, please wait..."
|
| 402 |
if state == "generate":
|
| 403 |
if not queue.empty():
|
| 404 |
queue_len = queue.qsize()
|
| 405 |
if queue_len + reply_count >= MAX_REPLIES_PER_DAY:
|
| 406 |
error_message = "Today's maximum number of replies has been reached. Please try again tomorrow."
|
| 407 |
return Template(html_template).render(idea="", error=error_message, reply_count=reply_count, button_text="Generate",loading_text=loading_text)
|
| 408 |
+
error_message = "There are currently {} requests being processed. If you want to queue, please write your original topic and click the Continue button and you will enter the queue.".format(queue_len)
|
| 409 |
new_state = "continue"
|
| 410 |
new_button_text = "Continue"
|
| 411 |
response.set_cookie(key="state", value=new_state)
|
| 412 |
+
return Template(html_template).render(idea="", error=error_message, reply_count=reply_count, button_text=new_button_text,loading_text=f"Generating content, Usually takes {(queue_len+1)*3}-{(queue_len+1)*4} minutes, please wait...")
|
| 413 |
|
| 414 |
+
queue.put([user_id,topic])
|
| 415 |
new_state = "generate"
|
| 416 |
new_button_text = "Generate"
|
| 417 |
response.set_cookie(key="state", value=new_state)
|
| 418 |
queue_len = queue.qsize()
|
| 419 |
|
| 420 |
# 判断当前是否轮到该用户,如果没轮到则一直等待到轮到为止
|
| 421 |
+
while queue.queue[0] != [user_id,topic]:
|
| 422 |
+
time.sleep(10)
|
| 423 |
continue
|
| 424 |
|
| 425 |
with lock:
|