1

ユーザーが都市を選択してフォームを送信すると、その特定の都市のデータベースからユーザーの電話番号が取得され、SMS が送信される PHP Web サイトに取り組んでいます。

while ループ内で cURL 関数を使用してこれを実行しましたが、正常に動作しています。

注: 私の SMS ゲートウェイ プロバイダーの API は、http 要求ごとに一度に 1 つの番号のみをサポートします。

ここで私の質問は、選択した都市のユーザー数が 10000 または 50000 を超える場合、cURL メソッドを使用すると、ループ内にあるため実行に時間がかかりますか? しかし、ユーザーはループの完了を待ちたくありません。ユーザーがリクエストを送信すると、バックエンドの何か(ジョブなど)が関数を実行し、ユーザーがページを閉じても、そのジョブはループが完了するまで実行されます。

4

2 に答える 2

0

SMS と都市の詳細を別のテーブルに保存することができます。都市の詳細に基づいてすべての番号を取得する Cron を 1 つ設定し、その行を送信済みとして設定します。

于 2013-10-17T11:57:55.190 に答える
0

私の解決策はこれでした:

--page /sendsms/?phone_nr=1122 1 つの SMS を電話番号 1122 に送信します

--page /sendbulk には、ファイル関数 file(' http://www.domain.com//sendsms/?phone_nr= ' . $phone_nr[$i ]);

-- 送信時のクライアントは ajax を使用して呼び出します (リターンは必要ありません) /sendbulk ページ

この方法では、クライアントが接続を閉じても、サーバーはバックグラウンドで /sendbulk を実行し続け、すべてのメッセージを送信します

于 2013-10-17T12:10:37.143 に答える