使用 twisted 的 txrestapi 模块提供基本的异步 API 服务。

本文介绍了如何利用 python 的 twisted 框架和 txrestapi 库构建异步 REST API 服务。通过使用 twisted.web.server.NOT_DONE_YET,可以确保在处理耗时操作时,不会阻塞其他请求,实现高效的请求响应。
摘要由CSDN通过智能技术生成

twisted 是python的一个异步网络框架,txrestapi 是基于 twisted 的一个 RESTFUL API 服务的包,使用 txrestapi 的代码基本如下:

from twisted.internet import reactor
from twisted.web import server
from txrestapi.resource import APIResource
from txrestapi.methods import GET, POST, PUT, ALL


class MyResource(APIResource):

    @GET("/path1")
    def path1(self, request):
        return "path1"

    @POST("/path2")
    def path2(self, request):
        return "path2"

    @ALL("/")
    def default(self, request):
        return "default route"


if __name__ == "__main__":
    site = server.Site(MyResource())
    reactor.listenTCP(8080, site)
    reactor.run()

当我们把程序运行起来后,可以在浏览器中访问 http://127.0.0.1:8080/path1 得到 path1, 访问其他可以得到 default route.

从代码来看,这个路由请求的回调函数是比较快的执行结束了。但是存在一个问题,如果某一个路由请求需要执行一段时间后才能得到最终的结果,如何才能将正确的数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值