同今生活在线网

微型异步非阻塞Web框架使用-老男孩python

Python培训 2019-09-27 13:09137未知wxybfzsw

二、使用

1. 基本使用

fromsnowimportSnowfromsnowimportHttpResponsedefindex(request):returnHttpResponse('OK')routes=[(r'/index/',index),]app=Snow(routes)app.run(port=8012)

2.异步非阻塞:超时

fromsnowimportSnowfromsnowimportHttpResponsefromsnowimportTimeoutFuturerequest_list=[]defasync(request):obj=TimeoutFuture(5)yieldobjdefhome(request):returnHttpResponse('home')routes=[(r'/home/',home),(r'/async/',async),]app=Snow(routes)app.run(port=8012)

3.异步非阻塞:等待

基于等待模式可以完成自定制操作

fromsnowimportSnowfromsnowimportHttpResponsefromsnowimportFuturerequest_list=[]defcallback(request,future):returnHttpResponse(future.value)defreq(request):obj=Future(callback=callback)request_list.append(obj)yieldobjdefstop(request):obj=request_list[0]delrequest_list[0]obj.set_result('done')returnHttpResponse('stop')routes=[(r'/req/',req),(r'/stop/',stop),]app=Snow(routes)app.run(port=8012) 

杰途IT培训学习网 备案号:

本站内容部份来自网络和网友自行发布,如有侵权等问题请联系本站删除。