Swoole Timer 的应用

2020-08-03T03:33:10
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

本地版本:
PHP 7.2.6、Swoole 4.3.1。
Timer

主要有三个方法:

swoole_timer_tick 间隔的时钟控制器

swoole_timer_after 指定的时间后执行

swoole_timer_clear 删除定时器

示例代码:

运行结果:

    tick 3000ms - 2019-04-07 21:36:56    
    tick 3000ms - 2019-04-07 21:36:59    
    tick 3000ms - 2019-04-07 21:37:02    
    after 9000ms - 2019-04-07 21:37:02

应用场景

一、比如,每天凌晨跑业务脚本,脚本中包括了请求其他业务方或第三方的接口,如果接口超时无响应或没有数据返回,需要进行重试。

重试机制为:每5隔分钟再发送一次请求,最多尝试5次,在5次内成功停止该任务,5次仍失败也停止该任务。

示例代码:


运行结果:

    2019-04-07 21:40:48 执行任务中...(1)    
    2019-04-07 21:40:48 请求接口失败,5分钟后再次尝试    
    2019-04-07 21:45:48 执行任务中...(2)    
    2019-04-07 21:45:48 请求接口失败,5分钟后再次尝试    
    2019-04-07 21:50:48 执行任务中...(3)    
    2019-04-07 21:50:48 请求接口失败,5分钟后再次尝试    
    2019-04-07 21:55:48 执行任务中...(4)    
    2019-04-07 21:55:48 请求接口失败,5分钟后再次尝试    
    2019-04-07 22:00:48 执行任务中...(5)    
    2019-04-07 22:00:48 请求接口失败,已失败5次,停止执行

扫一扫关注公众号添加购物返利助手,领红包
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。