利用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 相关文章推荐
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
NO3第三帝国留言簿制作过程
Oct 09 PHP
PHP中的正规表达式(一)
Oct 09 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP执行系统命令函数实例讲解
Mar 03 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
基于initPHP的框架介绍
2013/04/18 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
小程序自定义日历效果
2018/12/29 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
django-filter和普通查询的例子
2019/08/12 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
Java程序员综合测试题
2014/04/25 面试题
美德少年事迹材料
2014/01/23 职场文书
高中地理教学反思
2014/01/29 职场文书
加油口号大全
2014/06/13 职场文书
学习十八大标语
2014/10/09 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
礼仪培训心得体会
2016/01/22 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技