gpt4 book ai didi

javascript - Rest API,在路由中哪里放置大量计算?

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:50 25 4
gpt4 key购买 nike

我打算设计一个Rest API,它接收用户请求并进行大量计算并返回结果。

我是网络编程新手。所以只要熟悉基本的API服务就可以了。

我所知道的:

1)通过post方法用JSON发送请求,因为数据没那么简单。2)我遵循了一些例子并在基础知识上取得了成功。

所以我想我最好开始编写繁重的计算部分。

我想要如下。

1)接收post请求,并开始计算

2)在计算后发送“工作消息”(我想我可以做 re.send("MSG"))

我的问题

1)但是我应该把繁重的计算放在哪里?

2)既然我已经回复了“MSG”,那么在没有请求的情况下如何发送其他内容?

3)我读过有关中间件的内容,感觉中间件处理接收请求和发送响应之间的事情。我说得对吗?

如果您能给我展示一个简单的示例,那就太好了。

最佳答案

实现这一点的最佳方法可能是在后台进行繁重的服务器端处理,并为客户端提供一种方法来检查作业是否完成。

例如,假设您想要运行一些繁重的计算。您可以创建这样的资源:

POST /calculator

客户端发布计算,然后资源将计算作业排队以供稍后处理(可能通过服务器上的某些 cron 作业)并使用作业资源进行响应:

{ "id": 123456, "status": "pending" }

然后客户端可以随时通过检查/jobs 资源来检查作业是否完成:

GET /jobs/123456

最初可能会再次响应:

{ "id": 123456, "status": "pending" }

然后当它正在进行时:

{ "id": 123456, "status": "in_progress" }

完成后:

{ "id": 123456, "status": "done", "result": <some object that contains the result of the calculation> }

关于javascript - Rest API,在路由中哪里放置大量计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com