【发布时间】:2018-02-06 12:22:09
【问题描述】:
我在node.js 中编写了一个应用程序,它接受用户的输入并基于几个模板生成pdfs 文件。
我为此使用pdfkit npm。我的应用程序正在生产中运行。但是我的应用程序很慢,原因如下:
我面临什么问题:
- 它以同步方式工作。我可以通过举一个例子来解释它 - 假设应用程序请求生成一个 pdf,开始处理并在处理后返回带有生成的 pdf url 的响应。但是,如果有多个请求到达服务器,它会一个一个地处理每个请求(以同步方式)。
- 队列中的所有请求都必须等到前一个请求完成。
- 我的应用程序给出超时或内部服务器错误的最长时间。
我无法更改库,为什么?
- 我用js为pdfkit写了40个模板。每个模板有 1000 - 3000 行。
- 如果我要更改库,我必须根据新库重写那些模板。
- 重写和正确测试需要几个月的时间。
我现在使用什么解决方案:
- 我现在正在管理一个队列,一旦收到请求,它就会排队,并会发回一条令人满意的消息以响应用户。
为什么这个解决方案不可行?
- 请求成功后,应向用户提供有效的 pdf url。但在队列方法中,用户只收到一条确认消息。 pdf 将在队列中稍后处理。
我现在正在寻求什么样的解决方案?
- 我可以通过什么方式使这个应用程序成为多线程/异步的,以便它能够一次处理多个请求而不会阻塞资源?
请救救我。
【问题讨论】:
标签: javascript node.js pdf pdfkit node-pdfkit