大佬教程收集整理的这篇文章主要介绍了PHP如何实现订单的延时处理详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
订单是我们在日常开发中经常会遇到的一个功能,最近在做业务的时候需要实现客户下单之后订单超时未支付自动取消的功能,刚开始确认了几种方法:
综合考虑上述方法,第一种最先排除,因为如果客户把APP后台禁止或者网络连接禁止,那么就无法发给服务端请求,订单就会一直是未处理状态;第二种方法使用的比较多,不过存在准确度的问题,还有需要确认定时任务的周期,暂时列为后补方法;第四种方法存在的问题就是订单如果@L_618_7@就是物理@L_618_7@,无法统计未处理数据(当然可以存redis时候顺便存在MysqL这样的数据库做长久存储然后用方法二定时处理)。
最终准备使用方法三。
再确认使用方法3的时候,由于使用的PHP这种开发语言,所以想实现定时器功能需要借助Swoole或者workeRMAN。由于Swoole是C开发的扩展框架,性能方面肯定比较好,就选了Swoole。
我们创建一个swoole_test.PHP文件和一个log.txt文件(用来测试),swoole_test.PHP代码如下:
php;"> <>PHP swoole_timer_after(3000,function () { append_log(time()); echo "after 3000ms.\n"; }); function append_log($str) { $dir = 'log.txt'; $fh = fopen($dir,"a"); fwrite($fh,$str."\n"); fclose($fh); }
以上是大佬教程为你收集整理的PHP如何实现订单的延时处理详解全部内容,希望文章能够帮你解决PHP如何实现订单的延时处理详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。