如题。
我个人的思路是做定时任务。但是有一个问题就是。如果每一单都要建立一个定时任务。那么订单多了。这么多定时任务。只有动态的去创建。如何动态的创建?如果管理这些定时任务的执行。停机维护。这些定时任务又怎么处理??
如果是自动去生成定时任务。那么有什么工具呢?我看了下Celery Beats。适合不太符合条件。
以上只是个人思路。求大神指点。。
4 回答
慕少森
TA贡献2019条经验 获得超9个赞
谢邀
其实楼上都给出了很好的解决方案
具体就看业务需求吧,如果实时性要求不高的话,可以设置一个定时任务,然后扫表筛选符合的来自动好评。如果真的实时性要求很高的话,就像你提到的对于自动退款、超时未支付等等那你就只能对每个订单去设置一个超时时间了。
你只要将(超时后处理的函数、处理的时间、订单相关的参数)打包成一个消息交给一个后台程序,它会在你指定的处理时间,找到超时后处理的函数,并将你给的订单相关的参数交给这个函数处理。这样就完成了某个订单的定时任务。
你说的Celery可以应对你所说的场景吧,它有个delay
执行很好用啊。
潇潇雨雨
TA贡献1833条经验 获得超4个赞
给你个另类的思路,不需要定时更新处理:
评价表包含(也可以直接在订单表上增加评价相关字段):订单id , 评价相关信息(图片,文字,评分等等), 评价时间。
支付成功时:生成好评评价,评价时间设置为支付时间+n天。
用户订单列表:评价表上 评价时间>当前时间的为未评价,用户可操作评价,评价后更新评价内容,评价时间为当前时间。评价时间<当前时间的为已评价。
详情页:只显示评价时间<当前时间的信息。
添加回答
举报
0/150
提交
取消