求解!!! 订单一个小时后自动取消!这怎么实现啊?ph
php吧
全部回复
仅看楼主
level 5
LC026790 楼主
求解!!!
订单一个小时后自动取消!这怎么实现啊?php
最主要的就是能够在用户不登录系统的情况下也能自动处理那些超时的订单!!类似12306的购买车票!!
2017年12月14日 15点12分 1
level 5
LC026790 楼主
怎么没人回复啊,,求解啊
2017年12月14日 15点12分 2
level 14
计划任务执行
2017年12月14日 16点12分 3
level 1
百度linux crontab计划任务
2017年12月14日 18点12分 4
level 5
LC026790 楼主
能不能具体点啊??[呵呵][呵呵]
2017年12月15日 03点12分 6
level 8
实现方式有很多种:
在4楼说了linux crontab 是其中一种。你写个PHP脚本,每隔一段时间执行一下,有没有造过一个小时没有支付的订单,如果有,就把数据库里的状态值进行修改。
如果在大型服务里面不使用这样一种实现方式,你可以使用,分步式定时队列。将一个订单创建的时候,就发起一个定时队列任务,一个小时后去请求一下状态,进行处理。
2017年12月15日 03点12分 7
2017年12月20日 09点12分
level 9
计划任务实现
2017年12月15日 04点12分 8
level 6
看需求,其实可以不用写
下订单的时候记录一个时间,并且加上一个status为0
比如后台管理页面,打开订单列表,如果发现哪些订单超时并且标识还是为0,那就不显示这些订单
方法有很多
2017年12月15日 06点12分 10
level 7
每次读取订单信息时,先检测状态,如果超时就取消。这比计划任务省事
2017年12月15日 06点12分 11
@不忘初心张思睿 不知道别瞎BB,还省事。自己用不好别误导别人。
2018年10月25日 02点10分
这样占着订单不支付,别人就买不到了。
2017年12月16日 07点12分
省**了个蛋,哪个公司敢这样写,误人子弟
2017年12月18日 06点12分
@海角七号-▫ 没有不好的方法,只看是否合适,php一个解释性语言,别太较真
2017年12月18日 09点12分
level 5
主动触发:
第一种:计划任务类似楼上说的,搜索下linux crontab
第二种:就是队列,例如beanstalk之类,再简单点就是用内存表或不同表当队列定时扫描
第三种:用workerman或swooler这类定时器。
被动触发:
在整套程序开始初始化时,插入代码(例如入口文件),这样只要整个网站有访问就可能被触发。然后执行扫描代码。缺点:不确定性高,可能执行一半挂掉了。
或自己用php fork出个进程来搞这样就太复杂了。
2017年12月15日 07点12分 12
level 10
就7楼的方法。
使用crontab 计划任务每个一定时间去执行这个用于处理订单超时的脚本。
2017年12月15日 08点12分 13
level 5
LC026790 楼主
感谢各位大佬的联系。。受教了,,[太开心][太开心]
2017年12月15日 10点12分 14
level 12
为啥要用corntab,创建订单时另设一个字段就好了啊,一个小时内提交了订单就算作有效。到时候再去清算未提交的订单就OK了
2017年12月19日 02点12分 17
1