【通用消息通知服务】0x2 - 初始化服务

【通用消息通知服务】0x2 - 初始化服务

项目地址: A generic message notification system[Github]

准备依赖

[tool.poetry.dependencies]
python = "^3.10"
sanic = {extras = ["http3"], version = "^23.3.0"}
tortoise-orm = "^0.19.3"
pydantic = {extras = ["email"], version = "^2.0.3"}
aio-pika = "^9.1.4"
grpcio = "^1.56.0"
redis = "^4.6.0"
orjson = "^3.9.2"
environ-config = "^23.2.0"
aiohttp = "^3.8.4"
python-ulid = "^1.1.0"
sanic-ext = "^23.3.0"
aioquic = "^0.9.21"
mongoengine = "^0.27.0"
motor = "^3.2.0"
umongo = "^3.1.0"
asgiref = "^3.7.2"
uvicorn = "^0.23.2"
redis-om = "^0.2.1"
sanic-pydantic = "^1.3.1"

[tool.poetry.group.dev.dependencies]
pre-commit = "^3.3.3"
black = "^23.7.0"
isort = "^5.12.0"
flake8 = "^6.0.0"
trustme = "^1.1.0"


[tool.poetry.group.test.dependencies]
pytest = "^7.4.0"

编写服务端入口

# server.py

import orjson
from sanic import Sanic
from sanic import text

app = Sanic(
    name="Message",
    strict_slashes=False, # /a/和/a都可以匹配到/a上
    dumps=orjson.dumps, # 替换一下sanic的json库, 加速一下序列化和反序列化
    loads=orjson.loads,
)

@app.get("/")
async def index(request):
	return text("ok")

运行服务

sanic server:app --port 8000

总结

sanic和fastapi都是优秀的asyncio网络框架, 相比之下fastapi目标是Django,sanic追求的是flask。
fastapi内置足够多的优良特性,对开发者非常友好。但是有时候我就是愿意选复杂的一条路。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值