设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
利用php-cli和任务计划实现订单同步功能的方法 ...
返回列表
查看:
1615
|
回复:
0
利用php-cli和任务计划实现订单同步功能的方法
[复制链接]
bewin83
当前离线
积分
7520
2500
主题
2513
帖子
7520
积分
论坛元老
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
积分
7520
发消息
电梯直达
楼主
发表于 2018-2-14 05:26:23
|
只看该作者
|
倒序浏览
|
阅读模式
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 cli 方式 在crotab中运行解决
php cli模式学习(PHP命令行模式)
php-cli简介(不会Shell语言一样用Shell)
PHP CLI模式下的多进程应用分析
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
ThinkPHP在Cli模式下使用模板引擎的方法
php命令行(cli)模式下报require 加载路径错误的解决方法
利用php-cli和任务计划实现刷新token功能的方法
php cli模式下获取参数的方法
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端