Vercel Python Queues SDK现已推出测试版

Vercel Python Queues SDK现已推出测试版

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Vercel Queues推出Python SDK测试版,支持Python后台任务处理。消息可跨JavaScript和Python发布与消费,实现Next.js与Python队列消费者并行处理。提供自动重试、分片和交付保证。示例展示FastAPI发布消息、订阅者处理订单及跨运行时配置,可通过pip安装使用。

🔎

延伸解读

跨运行时消息传递

该SDK支持消息在JavaScript和Python之间互发,允许Next.js前端将任务发布到队列,由Python消费者处理。这种设计使得开发者可以在同一项目中混合使用不同语言的服务,例如用Python处理订单,而前端保持TypeScript,从而利用各自生态的优势。

配置要点

使用Python SDK需要在pyproject.toml中声明入口点和订阅者,并在vercel.json中配置服务。示例展示了如何将前端路由与Python后端关联,并指定队列触发器。配置相对简单,但需注意正确设置entrypoint和subscribers,否则消息可能无法正确投递。

测试版注意事项

该SDK目前处于测试版,功能可能不稳定,API也可能变化。虽然提供了自动重试、分片和交付保证,但生产环境使用需谨慎。建议先在非关键任务中试用,并关注官方文档更新,以应对可能的变更。

Q&A

Vercel Queues的Python SDK现在处于什么阶段?

Vercel Queues的Python SDK目前处于测试版(beta)阶段。

Vercel Queues的Python SDK支持哪些功能?

它支持在Vercel上运行Python后台任务,提供自动重试、分片和交付保证,并且消息可以在JavaScript和Python之间跨运行时发布和消费。

如何从Python API发布消息到Vercel Queues?

可以使用FastAPI创建一个API端点,然后调用`vercel.queue`模块中的`send`函数,例如:`await send("orders", body)`,其中`body`是消息内容。

如何创建一个订阅者来处理队列消息?

使用`vercel.queue`中的`subscribe`装饰器,指定topic,并定义一个异步函数来处理消息,例如:`@subscribe(topic="orders") async def fulfill_order(order): ...`。

如何配置Vercel项目以支持跨运行时消费者?

在`vercel.json`中配置`services`,分别定义前端和后端服务,并为前端路由设置`experimentalTriggers`为`queue/v2beta`,指定topic,后端则通过`pyproject.toml`指定入口。

如何安装Vercel Queues的Python SDK?

通过pip安装,运行`pip install vercel`即可。

🏷️

标签

➡️

继续阅读