如何解决如何使用gevent在烧瓶中使用超时功能
我使用/fCtS
接收server1.py
中的数据,然后将数据传输到server2.py
在server1.py
中,我使用gevent
并设置timeout = 1
在server2.py
中,我使用time.sleep(5)
但是在server1.py
中,job.successful()
是true
时间设置1小于5,为什么答案是正确的,如何使job.successful()
是false
如果server2.py
没有及时响应server1.py
server1.py(127.0.0.1:5000)
@app.route('/fCtS',methods=['GET','POST'])
def recData():
if request.method=='POST':
serverType = request.json['type']
if serverType=='wifi':
job = gevent.spawn(transferTo,request.json)
job.join(timeout=1)
print(job.successful())
return 'receive data!'
def transferTo(data):
S_URL = 'http://127.0.0.1:5001/recData'
response = requests.post(S_URL,json=data)
print(response.text)
server2.py(127.0.0.1:5001)
@app.route('/recData','POST'])
def recData():
print('--- Sleeping ---')
time.sleep(5)
print('--- Awake ---')
if request.method=='POST':
return '--- Had recieve!!! ---'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。