我正在经营一个拥有7000种产品的网上商店。每天晚上,我都会在ERP系统上执行cronjob,通过其Restful API将所有产品信息推送到WooCommerce商店中。
这很好用...但是,我正在寻找提高此任务性能的方法。
到目前为止,我所做的是将我自己的更新API请求更改为batch调用。因此,我将请求的范围从7000个限制为1400个-我可以批量处理大约50种产品,而不会遇到网关超时和其他服务器端限制。
但是,在改进此功能的同时,我想知道是否存在一些将这些更新任务调度到后台队列/进程中的聪明方法。我在Laravel上对此非常熟悉,但是我想知道在Wordpress / WooCommerce中是否存在任何实际上支持此现成的东西。
我真正的意思是; API应该只是计划任务并将响应发送回客户端,而不是在调用API时执行update-batch任务,告诉任务已成功添加。这样,ERP系统不必等待WooCommerce完成整个批次。如果我让ERP系统进行异步调用,那么它将适当地导致WooCommerce过载,并且不会带来好处。
如果没有,那么实现此目标的最佳方法实际上是什么?我正在考虑制作一个包含我的有效负载的作业/队列数据库表,并将所有更新数据推送到此表之后,然后创建另一个端点,该端点告诉我的WooCommerce商店开始处理该列表。
请告诉我是否有一些出色的方法来实现这一目标。