laravel如何处理有到期时间的业务逻辑?

最近的项目在做团购功能,因为有到期时间,到期之后就必须判断是否成团、用户不能再操作。如果手动去设置是否成团、锁定就可能不能准时,导致产生错误数据,一般这种情况应该如何处理比较及时?如果用定时任务的话,感觉花销有点大,而且也不一定到点就能执行。有点急。。希望大神们可以解答一下~

阅读 4k
4 个回答

队列,queue().
在命令行上运行 php artisan queue:listen 后台常驻。
具体的在手册里找。

这个不存在什么问题吧?
数据最终是给人看的,如果人不看,更新也没有意义。所以只要在用户看之前更新就可以了,不用准时去更新。
用户打开团购页面的时候,就读一下数据库,判断是否过期了。
用户参团操作时,就读一下数据库,判断是否过期了。

定时任务 + 请求之前检验

1、定时每分钟检测 是否有到期的团购
2、有用户访问时,再次检验是否有到期的团购,更改状态,做逻辑处理

新建一个计划任务表
有任务类型,预定实行时间,任务参数,实际执行时间,执行结果字段

cli模式运行php,每10秒检测一次是否有任务执行

团购入库的时候把开团时间写入任务表

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题