定期的 (例: 毎月) サブスクリプションを持つ有料アプリケーションの mysql データベースで、サブスクリプションが期限切れになっているユーザーをチェックして非アクティブにする最良の方法は何ですか? 通常はアプリで有効期限が過ぎていないか確認するだけですが、無料やお試しなど、有効期限のないアカウントもあります。
クライアント アプリケーション側で物事をシンプルに保ち、すべてのアカウントの大文字と小文字を切り替えるのではなく、「アクティブ」ステータスを確認するだけでよく、ユーザーがアプリを使用できるようにしたいと考えています。種類と賞味期限。また、顧客の要求に応じて、アカウントの種類が将来変わる可能性があります。ロジックが (php) バックエンドにある場合は、新しいクライアント バージョンを必要とせずに更新できます。
テーブルは次のようになります。
User ID | Expiry date | Status
私が現在行っている方法は、時々実行されるcronjobがあり、有効期限が現在の時刻を過ぎたすべてのユーザーを更新することです。
要約すると、私の質問は次のとおりです。
- 現在の方法では、本番環境に入って多数のユーザーがいる場合、サーバーに負荷が急増することはありますか?
- これを行うためのより良い、よりクリーンな方法はありますか? アクティブ/非アクティブなユーザーと有効期限を処理するための別の更新方法または別のロジックですか?