あるショップの CMS 用の支払いモジュールを開発しようとしています。お支払いは、銀行での取得に基づいています。
したがって、最初に各注文に対して銀行側で「チケット」を (curl を使用して) 作成します。その後、クライアントはチケット ID とともに銀行サーバーの支払いページに転送されます。顧客が支払いをして「ストアに戻る」ボタンを押せば、すべて問題ありません。
しかし、顧客が支払ってこのボタンを押さない場合は、結果を確認する必要があります (支払ったかどうか)。こちらもカールで作られています。チケット ID で情報を要求していますが、必要なパラメーターを含む配列を受け取ります。その中には、確認する必要がある結果コードがあります。
だから私はそれを自動的にチェックする必要があります(例:1時間に5分ごとに1回)。Cron は、すべてが動的に処理されるため、私を助けることはできません。
結果を返す関数を作成しました。しかし、どうすれば任意の間隔でバックグラウンドで開始できますか?
2 に答える
2
クローンを使用します。PHP は、言語の範囲外であるため、スケジューラーのようなものを提供しません。DB を使用して、プロセス全体に必要なパラメーターの一部を保存できます。
于 2012-10-22T09:14:20.703 に答える
0
あなたが望むものにcronを使用することについて、WebnetMobileの回答を少し拡張します。
DB にテーブルがあり、銀行から取得したチケットと、チケットが作成された日付と成功したか失敗したかを格納するテーブルがあると思われます。
次に、成功したかどうかに関係なく、銀行チケットの作成日から 5 分ごとに確認したい場合は、次のことを行う1 分ごとに cron を実行する必要があります。
- 定義された状態 (Succeed または Failed) のない銀行チケットがあるかどうかを確認します。
- 作成された時間 (秒なし) から現在の時間 (秒なし) を引いた MOD 5 == 0 かどうかを確認します。
- true の場合、そのチケットの作成からさらに 5 分間経過したことを意味し、チェックする必要があります。それ以外の場合は何もしません。
私はこれがあなたが望むことをすると思います
于 2012-10-22T18:13:31.247 に答える