基于订单数据生成发票的最佳设计?

Best design for generating invoice based on order data?

所以,我有一个 erp 端点,它解析采购订单,然后在返回响应之前进行一些预处理。现在,我想根据采购订单 post 数据生成收据。这里的问题是 1. 在我这边存储购买数据似乎是多余的,因为每个使用该系统的公司都有自己的数据库。 2. 考虑到,我想扩展是否有一种方法可以让我即时生成收据,或者可以使用暂存 table。 我正在使用 ERPnext。考虑到收据生成不应导致采购订单 API 端点的请求响应线程延迟,什么是好的设计。

我的理解: 请求到达 ERP 端点,然后进行预处理,然后发送响应。 您现在还想打印收据而不影响 API 响应的延迟。

解决方法: 完成预处理后,您可以将其保存在数据库中,状态为待定和 return 响应。现在在另一个线程中,您可以继续查找数据库更改并打印任何状态为待处理的数据的收据,然后删除已处理的记录。

现在为什么要将它保存在数据库中,因为您也可以将新解析的数据直接传递给 Async 方法?实际上,您可以将处理后的数据传递给 ansyc 方法,该方法不会等待打印完成并会 return 响应,但如果您遇到错误或有任何停机时间,最好存储所需的数据在 multi-server/single 服务器托管的情况下进行处理。