これらの番号はデータベースにあると思います。その場合は、isSent(または好きなもの)というタイトルの新しい列を追加する必要があります。
入力したこの次の段落はキューに入れられ、場合によっては夜間/毎週/適切なときに実行される必要があります。特別な理由がない限り、オンデマンドで一括して行うべきではありません。dbに列を追加して、最後にチェックされた日時を確認することもできます。これにより、番号がX日以上チェックされていない場合は、オンデマンドでその番号のチェックを実行できます。
データの処理には、携帯電話番号の種類(CDMAなど)の確認、さらに参照するためにすべての番号に一意のIDを割り当てる、ネットワーク/国の固有料金の確認などが含まれます。
しかし、それでも、一度に50,000の番号に対してこれを行う方法についての同じ質問に戻ります。cronジョブについて言及したので、サーバーへのSSHアクセスがあると想定しています。つまり、ブラウザーは必要ありません。これらのcronジョブは、次のようにコマンドラインから実行できます。
/ usr / bin / php /home/username/example.com/myscript.php
私の推奨事項は、cronを介して10分ごとに一度に1,000の数値を処理し、これにかかる時間を計測してから、DBに保存することです。cronジョブを使用しているため、これらは時間に敏感なSMSメッセージではないように思われるため、拡散する可能性があります。このスクリプトが50回(50 * 1000 = 50k)実行されるのにかかった時間がわかれば、cronジョブを更新して実行頻度を増減できます。
$time_start = microtime(true);
set_time_limit(0);
function doSendSMS($phoneNum, $msg, $blah);
$time_end = microtime(true);
$time = $time_end - $time_start;
saveTimeRequiredToSendMessagesInDB($time);
また、set_time_limit(0)に気付いたかもしれません。これにより、デフォルトの30秒後にタイムアウトしないようにPHPに指示されます。PHP.iniファイルを変更できる場合は、このコード行を入力する必要はありません。PHP.iniファイルを編集できる場合でも、他のページがタイムアウトになる可能性があるため、この機能を変更しないことをお勧めします。
http://php.net/manual/en/function.set-time-limit.php