请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

peewee-async会出现同步的情况,这是为什么?

async def check_k_id(question_id):

    # goods = await objects.execute(My_Tk_question_knowledge.select().where(
    #My_Tk_question_knowledge.question_id == question_id))
    
    goods = await objects.execute(My_Tk_question_knowledge.select().where(
    My_Tk_question_knowledge.id == 2))
    if goods:
        return goods[0]
    return None

老师,看我上面的一个代码块,省略掉的那行是真正需要的代码,但是会出现同步的情况,而去查询主键id的时候却不会,不知道是什么情况,数据库中id是主键。

正在回答 回答被采纳积分+3

1回答

bobby 2021-11-13 11:28:16

你是如何排查出这行会出现同步的情况?是因为运行到这里其他的请求就无法执行了吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_洪伊_0 #1
    老师,是查了时间进行的,发现这步耗时和单线程相同,我把question_id也改为主键就同步起来了,这个难道必须都要主键才能异步吗?
    回复 有任何疑惑可以回复我~ 2021-11-15 16:35:26
  • bobby 回复 提问者 qq_洪伊_0 #2
    不能这样来衡量, 是否是同步了, 这么小的并发量,异步和同时差异并不大,你应该看是否阻塞了其他请求无法进行来确定
    回复 有任何疑惑可以回复我~ 2021-11-16 15:23:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信