我有一个node.js
网络应用程序,我希望能够将许多文档(同时)转换为PDF
。在这一刻,我将libreoffice
与队列一起使用(队列的目的是避免文件的无限转换 - 如果libreoffice
无法在特定时间段内转换文件,那么我就会终止该过程)。问题是,如果我有两个用户上传文件,并且他们都上传大文件,第二个用户必须等待第一个完成。
有没有办法同时转换文件?
我愿意用另一个PDF转换器替换libreoffice
。
提前谢谢你。
答案 0 :(得分:0)
同时进行多次转换的一种方法是启动正在进行转换的多个进程。然后,每当有什么东西被添加到队列中时,它将被移交给正在进行转换的下一个可用外部进程。由于文件转换可能是CPU和磁盘I / O的混合,因此您可以尝试维护最佳数量的转换过程。
管理队列有多种方法。如果您的node.js应用程序正在维护队列,那么它将管理将项目从队列切换到外部进程的过程,并跟踪哪些外部进程是空闲的并为新作业做好准备。如果队列在数据库或文件系统中,所有外部进程都可以读取,那么外部进程本身可以查看队列。