Я предполагаю, что эти числа находятся в базе данных, если это так, вы должны добавить новый столбец с названием isSent (или как вам нравится).
Этот следующий абзац, который вы набрали, должен быть поставлен в очередь и, возможно, выполнен ночью / еженедельно / по мере необходимости.Если у вас нет особой причины, это не должно быть сделано по требованию.Вы даже можете добавить столбец в базу данных, чтобы узнать, когда он был проверен в последний раз, чтобы, если число не проверено хотя бы в течение X дней, вы можете выполнить проверку этого номера по требованию.
Обработка данных включает проверку типа мобильного номера (например, CDMA), присвоение уникальных идентификаторов всем номерам для дальнейших ссылок, проверку уникальных сборов сети / страны и т. Д.
Но это по-прежнему приводит кВы возвращаетесь к тому же вопросу о том, как сделать это для 50 000 номеров одновременно.Поскольку вы упомянули задания cron, я предполагаю, что у вас есть SSH-доступ к вашему серверу, что означает, что вам не нужен браузер.Эти задания cron могут быть выполнены через командную строку следующим образом:
/ usr / bin / php /home/username/example.com/myscript.php
Моя рекомендация заключается в обработке 1000 чиселчерез каждые 10 минут через cron и сколько времени это займет, затем сохраните его в БД.Поскольку вы используете задание cron, не похоже, что это чувствительные ко времени SMS-сообщения, поэтому их можно распространять.Как только вы узнаете, сколько времени потребовалось для выполнения этого скрипта 50 раз (50 * 1000 = 50 КБ), вы можете обновить свое задание 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), это скажет PHP, чтобы не превышать тайм-аут после 30 секунд по умолчанию.Если вы можете изменить файл PHP.ini, вам не нужно вводить эту строку кода.Даже если вы можете редактировать файл PHP.ini, я все равно рекомендую не изменять эту функцию, поскольку вы можете захотеть, чтобы время ожидания других страниц истекло.
http://php.net/manual/en/function.set-time-limit.php