这里我们使用angular 9作为前端,.net core 3.1作为后端,sql server作为数据库。
每个用户将向服务器发送单个请求,但执行每个请求服务器几乎需要90分钟的操作时间。
需要找到后端保存所有请求或一次执行某些请求的解决方案,但它不应该重叠现有的运行请求计算。
我们正在考虑将队列引入后端,已经尝试了并行foreach,但它混淆了一些计算。你还有别的办法可以帮我吗?提前感谢
听起来你有一个异步操作。所以有多种解决方案,从我的角度来看,我将描述两个简单的一次,你很容易扩展。
首先你必须分离你的" job "的触发器并查询状态。
对于整个系统,我假设你在服务器上运行了一个api。因此,您可以使用文件系统来持久化正在运行的作业,并在单独的请求中查询它们。因此,一个请求调度"作业",另一个返回状态信息。
如果没有文件系统,您也可以使用数据库或将其存储在内存中(注意不希望重新启动程序)。
使用Hangfire实现此功能:https://docs.hangfire.io/en/latest/