购物网站几天后自动好评的功能如何实现?

  1. 如题。

  2. 我个人的思路是做定时任务。但是有一个问题就是。如果每一单都要建立一个定时任务。那么订单多了。这么多定时任务。只有动态的去创建。如何动态的创建?如果管理这些定时任务的执行。停机维护。这些定时任务又怎么处理??

  3. 如果是自动去生成定时任务。那么有什么工具呢?我看了下Celery Beats。适合不太符合条件。

以上只是个人思路。求大神指点。。

谢邀

其实楼上都给出了很好的解决方案

具体就看业务需求吧,如果实时性要求不高的话,可以设置一个定时任务,然后扫表筛选符合的来自动好评。如果真的实时性要求很高的话,就像你提到的对于自动退款、超时未支付等等那你就只能对每个订单去设置一个超时时间了。

你只要将(超时后处理的函数、处理的时间、订单相关的参数)打包成一个消息交给一个后台程序,它会在你指定的处理时间,找到超时后处理的函数,并将你给的订单相关的参数交给这个函数处理。这样就完成了某个订单的定时任务。

你说的Celery可以应对你所说的场景吧,它有个delay执行很好用啊。

  1. 一个定时任务就行,时间可以每分钟处理一次,查询所有需要自动好评的数据出来,加入到队列

  2. 队列处理订单,自动好评

为什么要每一单都建立一个定时任务?只要有一个定时任务定时去查有哪些符合条件的订单然后修改为好评不就行了。。

给你个另类的思路,不需要定时更新处理:

评价表包含(也可以直接在订单表上增加评价相关字段):订单id , 评价相关信息(图片,文字,评分等等), 评价时间。

支付成功时:生成好评评价,评价时间设置为支付时间+n天。

用户订单列表:评价表上 评价时间>当前时间的为未评价,用户可操作评价,评价后更新评价内容,评价时间为当前时间。评价时间<当前时间的为已评价。

详情页:只显示评价时间<当前时间的信息。

发表评论

电子邮件地址不会被公开。 必填项已用*标注