为了账号安全,请及时绑定邮箱和手机立即绑定

tornado服务如何对不同的handler设置非阻塞

tornado服务如何对不同的handler设置非阻塞

慕桂英3389331 2019-04-21 20:40:35
场景:现在我自己写了一个tornadoserver,类似于一个反向代理,接受请求,制做成固定格式,发送给远程服务器,然后再将返回结果解析格式化返回给请求者。一共有三个handler:a,b,c,分别要去请求不同的主机A,B,C,问题是A,B主机是单线程的,一次只能处理一个请求,而C主机可以扛并发。问题:我如何保证,handlerc是异步非阻塞的,而a,b就让它阻塞运行。但这不仅仅是就把c做成非阻塞这么简单。关键是a,b在执行的时候,不会阻塞c,只会阻塞它们自己那种handler。
查看完整描述

2 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

如果你只有一个进程的话,那么很好办:用个全局变量记录一下已经有handler正在处理a或者b,然后当a和b接收到新请求时看看是不是正在处理另一个请求,如果是,等待几秒再看看。
另外注意handler别拼错了。
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 384 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信