84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
1. キューを使用して注文が 15 分を超えているかどうかを検出したいのですが、15 分を超えている場合はタイムアウトキャンセルするようにデータベースを変更しますが、開始方法がわかりません。
この機能は、ユーザーの行動をトリガーするために作成できます。たとえば、ユーザーが注文を確認し、支払いが行われておらず、15 分を超えていると判断した場合、注文ステータスがタイムアウトキャンセルに変更されます。表示されておらず、ステータスも更新されていない注文は、スケジュールされたタスクによって早朝に更新される可能性があります。注文量が多い場合、すべての注文のステータスをリアルタイムで同期することはお勧めできませんし、意味がありません。
データベースポーリング: スケジュールされたタスクを使用してデータベースをポーリングし、関連する注文処理をクエリします。この方法は、小規模なプロジェクトでシンプルで実用的であり、保守が簡単です。
リングキュー: 参照: http://mp.weixin.qq.com/s/mvF...
キューサービス: 遅延キュー処理を使用する 参考: http://tech.youzan.com/queuin...
より良い解決策は、前述のリング キューであるタイム ホイールを使用することです。 有効期限を 15 分に設定し、キーの削除イベントをリッスンし、対応する操作を実行することもできます。
タイマーを使うといいんじゃないですか?
Redisは必要ありません
MySQLで実現可能です
計画: PHPスクリプトを作成し、デーモンプロセスを実行し、whileループを実行し、ライブラリを確認します。注文に15分以上かかり、注文が未払いで未発送の場合、キャンセル操作が実行されます
この機能は、ユーザーの行動をトリガーするために作成できます。たとえば、ユーザーが注文を確認し、支払いが行われておらず、15 分を超えていると判断した場合、注文ステータスがタイムアウトキャンセルに変更されます。表示されておらず、ステータスも更新されていない注文は、スケジュールされたタスクによって早朝に更新される可能性があります。注文量が多い場合、すべての注文のステータスをリアルタイムで同期することはお勧めできませんし、意味がありません。
データベースポーリング: スケジュールされたタスクを使用してデータベースをポーリングし、関連する注文処理をクエリします。この方法は、小規模なプロジェクトでシンプルで実用的であり、保守が簡単です。
リングキュー: 参照: http://mp.weixin.qq.com/s/mvF...
キューサービス: 遅延キュー処理を使用する 参考: http://tech.youzan.com/queuin...
より良い解決策は、前述のリング キューであるタイム ホイールを使用することです。
有効期限を 15 分に設定し、キーの削除イベントをリッスンし、対応する操作を実行することもできます。
タイマーを使うといいんじゃないですか?
Redisは必要ありません
MySQLで実現可能です
計画:
PHPスクリプトを作成し、デーモンプロセスを実行し、
whileループを実行し、ライブラリを確認します。注文に15分以上かかり、注文が未払いで未発送の場合、キャンセル操作が実行されます