在node.js中取消正在运行的请求

时间:2018-11-05 16:54:56

标签: node.js

我有一个node.js服务,它执行数据库请求,处理数据并将数据写入磁盘。让我们简化服务,如下所示:

Get data from database
Process data
Write result to disk
Copy files on disk to database
Call database stored function to load data

整个过程可能需要几个小时。我们希望允许最终用户在运行过程中取消该过程。

我能想到的唯一方法是在整个过程中添加几点。一旦到达其中一个点,它将检查是否发送了取消信号。如果发送了信号,则过程在此处停止。该方法的问题在于,该过程将一直运行直到到达断点。例如,数据库查询可能需要一个小时。如果对数据库启动查询后发送了取消信号,则该方法将无法停止数据库查询。

有没有更好的方法来解决问题?

0 个答案:

没有答案