找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1583|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
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好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端