我创建了一个Saas,为公司收集来自不同网站的订单, 这些网站是"出版商"每天为公司提供订单。
我没有API,因此我使用公司提供给我的用户名和密码从这些网站抓取HTML。
在我的数据库中导入并保存订单后,我会使用Google云打印API将其发送到公司的打印机,并且公司会实时处理该订单。
订单发送到打印后,我发送了一个帖子请求到网站,基本上点击了一个按钮,上面写着"我收到了订单,我正在处理它#' 34;,接受/批准订单的种类。
该公司有一个用户界面,显示今天订单的表格,对于每个订单,他们可以看到订单已经批准并通过谷歌云打印发送到打印机,他们认为订单是真打印过。
到目前为止,这么好,但我有一个大问题。
有时谷歌云打印不识别打印机,公司必须重新启动连接到打印机的计算机,问题是我的用户界面显示用户订单已经打印并且还批准了在原始网站上订购,以便客户得到公司正在处理订单的批准。
谷歌云打印API为我提供了检查打印状态的选项,但它需要大约6秒钟,状态可能是"正在进行中"所以我需要超过6秒的时间来获得我想要的状态 - "完成"。
现在我每分钟都有2个cron工作, 第一个是导入新订单,第二个是发送新订单进行打印。 当我发送订单打印时,大约需要4秒钟,所以我每分钟最多只能发送15个订单,因为我说公司正在实时工作,所以从订单出现的那一刻起我就不能有任何延迟它出现在打印机上的其中一个网站
我希望我这样做:
第1步: 导入订单
第2步: 将其发送到打印机
第3步: 检查状态
第4步: 在我完成"完成后,批准网站上的订单。状态。
我认为我最大的问题是它没有使用多线程
我正在寻找在PHP中管理和使用多线程作业的最佳方法。