0

あるショップの CMS 用の支払いモジュールを開発しようとしています。お支払いは、銀行での取得に基づいています。

したがって、最初に各注文に対して銀行側で「チケット」を (curl を使用して) 作成します。その後、クライアントはチケット ID とともに銀行サーバーの支払いページに転送されます。顧客が支払いをして「ストアに戻る」ボタンを押せば、すべて問題ありません。
しかし、顧客が支払ってこのボタンを押さない場合は、結果を確認する必要があります (支払ったかどうか)。こちらもカールで作られています。チケット ID で情報を要求していますが、必要なパラメーターを含む配列を受け取ります。その中には、確認する必要がある結果コードがあります。

だから私はそれを自動的にチェックする必要があります(例:1時間に5分ごとに1回)。Cron は、すべてが動的に処理されるため、私を助けることはできません。

結果を返す関数を作成しました。しかし、どうすれば任意の間隔でバックグラウンドで開始できますか?

4

2 に答える 2

2

クローンを使用します。PHP は、言語の範囲外であるため、スケジューラーのようなものを提供しません。DB を使用して、プロセス全体に必要なパラメーターの一部を保存できます。

于 2012-10-22T09:14:20.703 に答える
0

あなたが望むものにcronを使用することについて、WebnetMobileの回答を少し拡張します。

DB にテーブルがあり、銀行から取得したチケットと、チケットが作成された日付と成功したか失敗したかを格納するテーブルがあると思われます。

次に、成功したかどうかに関係なく、銀行チケットの作成日から 5 分ごとに確認したい場合は、次のことを行う1 分ごとに cron を実行する必要があります。

  1. 定義された状態 (Succeed または Failed) のない銀行チケットがあるかどうかを確認します。
  2. 作成された時間 (秒なし) から現在の時間 (秒なし) を引いた MOD 5 == 0 かどうかを確認します。
  3. true の場合、そのチケットの作成からさらに 5 分間経過したことを意味し、チェックする必要があります。それ以外の場合は何もしません。

私はこれがあなたが望むことをすると思います

于 2012-10-22T18:13:31.247 に答える