У меня есть SMS API, который позволяет отправлять текстовые сообщения. Я хочу использовать его для отправки SMS-сообщений навалом.php- как сделать асинхронный. для добавления задач в очередь?
Пользователь может ввести до 30 000 номеров одновременно и отправить СМС. Что я использую может быть очень плохой подход:
foreach ($targets as $target) {
sendSms($target,$text,$extra_parms):
}
Это займет 10 минут, чтобы обрабатывать 10000 запросов (SMSS), и это слишком много. То, что я хочу, когда пользователь должен нажать «Отправить» кнопка, он должен получить сообщение типа:
«было добавлены в очередь Вашего SMS (ы), чтобы быть отправленным»
И все SMSs должно быть отправлено в фоновом режиме. Как я могу это сделать?
Спасибо за помощь.
Немного слишком широкое, но хорошее место для начала - cronjob – Raptor
Посмотрите на эти ответы: http://stackoverflow.com/questions/3515615/php-background-process – mirelon
Существует много [менеджеров очереди] (http: //stackoverflow.com/questions/659455/what-are-some-good-distributed-queue-managers-in-php), которые вы могли бы использовать для этой задачи. Это очень общая проблема, и существует множество библиотек, серверов и служб, больших и малых, предназначенных для решения этой проблемы. Основной шаблон: «веб-страница быстро добавляет 10 000 заданий на работу в очередь»/«какая-то другая ферма процессов/серверов/серверов проходит через них и фактически отправляет их», но как сделать это в вашем конкретном случае, слишком большой вопрос, чтобы ответить здесь, я бы сказал. –