Мне нужна помощь, почему я получаю ошибку типа RecursionError, я использую python-socket Кстати, прежде чем двигаться дальше, я хочу чтобы было ясно, что эта проблема не связана с конфигурацией сокета, она работает нормально, простые тестовые события работают нормально.
Вот мое событие сокета, которое прослушивает конкретное событие:
async def reply_on_ticket_service(data:dict, db_session: Session = Depends(get_db)):
try:
new_reply= TicketReplyModal(reply_text=data["reply"],ticket_id=data["ticket_id"],sender_id=data["sender_id"])
new_reply_id= await db_manager.add_record(new_reply,db_session)
if not new_reply_id:
return {"success":False, 'status_code':400, "message":"Error occurred while creating new replay"}
new_record= await db_manager.get_record_by_id(new_reply_id, TicketReplyModal,db_session)
if not new_record:
return {"success":False, 'status_code':404, "message":"Unable to find record with newly created replay"}
sender_data = db_session.query(UserModel).filter(UserModel.id == new_record.sender_id).first()
if not sender_data:
return {"success":False, 'status_code':404, "message":"Unable to find sender info"}
reply = {
"id":new_record.id,
"created_at":new_record.created_at,
"reply_text":new_record.reply_text,
"ticket_id": new_record.ticket_id,
"sender":{
"id": sender_data.id,
"email": sender_data.email,
"profile_image": sender_data.profile_image,
"username": sender_data.username,
"public_key": sender_data.public_key,
}
}
return {"success": True, "data": reply}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
в ответе_on_ticket_event метод возврата, если я прокомментирую строку «полезная нагрузка»: res["data"], и тогда все работает нормально, без каких-либо проблем
Мне нужна помощь, почему я получаю ошибку типа RecursionError, я использую python-socket [b]Кстати, прежде чем двигаться дальше, я хочу чтобы было ясно, что эта проблема не связана с конфигурацией сокета, она работает нормально, простые тестовые события работают нормально.[/b] Вот мое событие сокета, которое прослушивает конкретное событие: [code] @sio_server.on(EVENT.REPLY_ON_TICKET) async def reply_on_ticket_event(sid:str, data:dict):
sender_id = None if data["sender_info"]["sender_id"]: sender_id= data["sender_info"]["sender_id"] else: sender_id= data["sender_id"]
payload = { "ticket_id": data["ticket_id"], "sender_id": sender_id, "notify": data["notify"], "reply": data["reply"], } # Obtain a database session manually db_session = next(get_db()) res = await reply_on_ticket_service(payload, db_session) if res["success"]: # the callback data for client socket return { "status_code": 200, "success": True, "message": "reply data", "payload": res["data"], }
return {"status_code": 400, "success": False}
[/code] а вот сервис, который обрабатывает ответы на запросы: [code] async def reply_on_ticket_service(data:dict, db_session: Session = Depends(get_db)): try: new_reply= TicketReplyModal(reply_text=data["reply"],ticket_id=data["ticket_id"],sender_id=data["sender_id"])
new_reply_id= await db_manager.add_record(new_reply,db_session) if not new_reply_id: return {"success":False, 'status_code':400, "message":"Error occurred while creating new replay"} new_record= await db_manager.get_record_by_id(new_reply_id, TicketReplyModal,db_session) if not new_record: return {"success":False, 'status_code':404, "message":"Unable to find record with newly created replay"}
sender_data = db_session.query(UserModel).filter(UserModel.id == new_record.sender_id).first() if not sender_data: return {"success":False, 'status_code':404, "message":"Unable to find sender info"}
except Exception as e: raise HTTPException(status_code=500, detail=str(e))
[/code] в ответе_on_ticket_event метод возврата, если я прокомментирую строку «полезная нагрузка»: res["data"], и тогда все работает нормально, без каких-либо проблем
When I used the auto py to exe module to package Python files into the exe file format, I encountered an error and the program did not contain recursive statements. Why does an error occur: RecursionError: maximum recurrence depth exceeded while...
Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и...
Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и...