|
1
3
热释光;博士: 长时间运行的作业通常避免使用传统的 request-response 循环,而不是选择一些变化的 Pub/Sub 接受请求,然后开始处理HTTP 202: Accepted ,表示您接受了请求,然后开始处理。 您可以在响应之前执行一些初始检查(用户是否有其他作业?请求是否通过了基本的验证检查?),但您不应该在响应之前开始处理实际的长时间运行的作业。 您可以使用一个简单的HTTP请求来创建作业。 将状态更新从服务器推送到订阅的客户端在页面上加载客户端 订阅 使用 WebSockets UUID 通过 LocalStorage 在接受新作业之前,请检查用户是否已在运行作业当用户刷新时,您可以通过WebSockets再次发送初始消息,通知用户是否有正在运行的作业及其进度。 根据您的操作,我认为如果有一个挂起的作业,您可能需要禁用“创建作业”按钮。 long-polling / Server-sent Events )如果您愿意,尽管WebSockets应该是最直接和灵活的解决方案。 我个人喜欢一个包含电池的WebSocket库,比如 socket.io |