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


Posted in PHP onMay 03, 2017

1、应用场景

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

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

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

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

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

3、定时获取的方法探讨

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

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

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

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

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

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

以上这篇利用php-cli和任务计划实现订单同步功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
谈谈新手如何学习PHP
Dec 14 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
详解Laravel服务容器的绑定与解析
Nov 05 PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 PHP
php删除数组指定元素实现代码
May 03 #PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 #PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 #PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 #PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 #PHP
php 函数使用可变数量的参数方法
May 02 #PHP
PHP 序列化和反序列化函数实例详解
Jul 18 #PHP
You might like
php相当简单的分页类
2008/10/02 PHP
php Sql Server连接失败问题及解决办法
2009/08/07 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
某页码显示的helper 少量调整,另附js版
2010/09/12 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
python如何通过protobuf实现rpc
2016/03/06 Python
多版本Python共存的配置方法
2017/05/22 Python
不可错过的十本Python好书
2017/07/06 Python
python 日期排序的实例代码
2019/07/11 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
听课评语大全
2014/04/30 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
班主任先进事迹材料
2014/12/17 职场文书
参观邀请函范文
2015/02/02 职场文书
培训班通知
2015/04/25 职场文书
导游词之江西赣州
2019/10/15 职场文书