并行处理nodejs中的多个文件

Posted

技术标签:

【中文标题】并行处理nodejs中的多个文件【英文标题】:Processing multiple files in nodejs in parallel 【发布时间】:2021-01-13 10:18:13 【问题描述】:

我正在使用 node.js 开发一个大型应用程序,其中每天需要大约 5000 名用户上传 excel 文件。上传文件后,应用程序需要评估该文件,并在进行一些数据库验证后,处理这些文件....我可以使用 multer 上传和处理单个文件,但是当多个用户上传时,系统就会陷入僵局...我正在使用 SQL 服务器数据库。有没有办法处理这种情况。

提前致谢。

【问题讨论】:

【参考方案1】:

您需要一次处理一个(或两个或某个受控数量)这些传入的文件。而且您不想从为您的 Web 应用程序提供服务的同一个 nodejs/javascript 实例内部进行该处理。即使您可以防止死锁,事情也会陷入困境。

这是我成功处理此问题的方法。

让网络服务器 (multer) 将传入的上传写入某个特定目录中的文件。用能够识别它们的名称命名它们。例如,您的姓名可以采用这种形式

/var/myapp/incoming/2020-10-01T19-32-20U98765

这是用户98765在某个时间上传的文件。

编写一个独立程序来查看incoming 目录,从中选择一个文件,处理该文件,然后将其移动到processed 目录。

【讨论】:

感谢 O.Jones 的快速回复。我的情况是我有一个 2 页的表格。 Excel 正在第一页上载,并且需要在该页面本身上显示 Excel 数据。提交第一页后,用户被发送到第二页进行进一步处理。

以上是关于并行处理nodejs中的多个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在并行运行多个文件时在后台运行批处理文件

将多个文件作为独立的 RDD 并行处理

如何使用 Pyspark 并行处理多个镶木地板文件?

Spark:并行处理多个kafka主题

使用 xcopy 进行并行复制

并发与并行的区别