在具有定期(例如:每月)订阅的付费应用程序的 mysql 数据库中,检查订阅过期的用户并使他们处于非活动状态的最佳方法是什么?通常我会在应用程序的到期日过后查看应用程序,但有几种类型的帐户,例如免费、试用等。它们不会有到期日。
我想在客户端应用程序方面保持简单,并使其只需要检查“活动”状态,并允许用户使用应用程序,而不是切换所有帐户的大小写类型和有效期。此外,帐户类型将来可能会有所不同,具体取决于客户的请求,如果逻辑位于 (php) 后端,那么这将允许更新而无需新的客户端版本。
该表将是这样的:
User ID | Expiry date | Status
我目前做事的方式是我有一个 cronjob,它会不时运行并更新所有过期日期已过当前时间的用户。
总结一下我的问题是:
- 一旦我们投入生产并拥有大量用户,当前的方法是否会在服务器上造成峰值负载?
- 有没有更好、更清洁的方法来做到这一点?是不同的更新方法还是处理活动/非活动用户和到期时间的不同逻辑?