欢迎来到代码驿站!

PHP代码

当前位置:首页 > 软件编程 > PHP代码

利用php-cli和任务计划实现订单同步功能的方法

时间:2021-04-02 09:47:30|栏目:PHP代码|点击:

1、应用场景

用户的订单情况,需要我们去平台网站通过API获取。有两个要点:

(1)用户遍历,我们必须遍历每个用户,去获取他们的订单;

(2)定时获取,获取用户订单不是一劳永逸的,现在没有不代表下一秒没有,我们必须设定一个合适的时间间隔去获取他。

2、通过遍历表来实现用户遍历

用户遍历的问题,我们可以通过把所有用户放在一个表里,并且表里有一个自增id,我们计算出id的最大值,然后从0开始循环取id等于指定值的行出来,这样可以实现遍历整个表

3、定时获取的方法探讨

(1)用死循环不断执行fetch,间隔以sleep动作

考虑到当用户多了以后,可能几乎每时每刻都需要进行这样fetch的动作,那么是否还需要用任务计划呢?为什么不直接while(true)死循环呢?而且还可以配合以sleep动作。

这个方案没考虑到的一点是,php是脚本文件,他不会自动垃圾回收,貌似说也可以手动回收,但总归麻烦而且充满不确定性。只要页面执行完他就干干净净自己清掉了,所以,能简单解决的事情不要用麻烦的方法。

(2)用任务计划实现定时执行fetch,如果已经在执行则不做任何操作,直到下个计划时间

这个方法还是用任务计划,而且任务计划很强大,默认就可以实现当前实例还在执行的时候不要启动新实例。也就是说,如果一个执行的动作,执行的时间超过任务计划的间隔,那么当下个任务启动的时候,第一个任务还没执行完成,这种情况他自动不会重复执行。设定如下图:

上一篇:PHP合并两个或多个数组的方法

栏    目:PHP代码

下一篇:PHP中读取照片exif信息的方法

本文标题:利用php-cli和任务计划实现订单同步功能的方法

本文地址:http://www.codeinn.net/misctech/93156.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有