0

我有一个node.jsWeb 应用程序,我希望能够(同时)将许多文档转换为PDF. 此时我使用libreoffice队列(队列的目的是避免文件的无限转换 - 如果libreoffice无法在特定时间段内转换文件,那么我会终止进程)。问题是,如果我有两个用户上传文件并且他们都上传大文件,那么第二个用户必须等待第一个用户完成。

有什么办法可以同时转换文件吗?

我愿意libreoffice用另一个 PDF 转换器替换。

先感谢您。

4

1 回答 1

0

同时进行多个转换的一种方法是启动多个正在进行转换的进程。然后,无论何时将某些内容添加到队列中,它都会被移交给下一个正在处理转换的可用外部进程。由于文件转换可能是 CPU 和磁盘 I/O 的混合,因此您可以试验要维护的最佳转换进程数。

有多种方法可以管理队列。如果您的 node.js 应用程序正在维护队列,那么它将管理将项目从队列移交给外部进程的过程,并跟踪哪些外部进程空闲并准备好执行新作业。如果队列位于所有外部进程都可以读取的数据库或文件系统中,则外部进程本身可以监视队列。

于 2015-10-26T13:59:30.583 回答