私は電子商取引のウェブサイトに取り組んでいます。このウェブサイトは、支払い処理業者と統合されます。次の注文テーブルがあります。
orders(InnoDB)
-----------------------
id int PRIMARY KEY
user_account_id int
item_id int
price decimal(6,2)
payment_mode ENUM(cash,pg)
payment_status(pending,paid,lost)
order_timestamp Timestamp
注文が行われると、payment_status は「保留中」になります。ユーザーは payment-processor にリダイレクトされます。支払いが承認された場合、 payment_status は「paid」として更新されます。トランザクションが失われた (または) 不正な場合、 payment_status は「lost」として更新されます。ユーザーに支払いを 30 分与えたい。彼が 30 分以内に支払いを怠った場合、支払いステータスは紛失として更新され、注文された商品はキャンセルされ、他の人が予約できるようになります。
それで、これはどのように達成できますか?30 分後にスクリプトを実行して注文を紛失として更新するにはどうすればよいですか (または) 失われたトランザクションをチェックする 5 分ごとに cron ジョブを使用する必要がありますか?