使用短信网关一键发送多条短信的最佳方式


Best way to send multiple SMS at one click using SMS Gateway

我正在开发一个PHP网站,当用户选择城市并提交表格时,它将从该特定城市的数据库中获取用户的电话号码并向他们发送短信。

我已经在一段时间循环中使用了 cURL 函数来执行它,它工作正常。

注意:我的短信网关提供商的 API 每次仅支持每个 http 请求一个号码。

现在我的问题是,如果所选城市中的用户数量超过 10000 或 50000,那么使用 cURL 方法执行需要很长时间,因为它在循环中?但是用户不会喜欢等待循环完成。有没有比这样做更好的方法,比如当用户提交请求时,后端中的某些内容(如 job)将执行该函数,即使用户关闭页面,该作业也会执行直到完成循环。

我的解决方案是这样的:

-

-page/sendsms/?phone_nr=1122 向电话 NR 1122 发送一条短信

-

-page/sendbulk 有一个循环,它在 PHP 中调用页面/sendsms/?phone_nr=1122 文件函数文件('http://www.domain.com//sendsms/?phone_nr=' . $phone_nr[$i]);

-

-提交时的客户端将使用 ajax(无需返回)页面/sendbulk 调用

这样,即使客户端关闭连接,服务器也会继续在后台运行/sendbulk并发送所有消息

您可以将短信和城市的详细信息存储在另一个表中,而不是设置一个 Cron 从城市详细信息的基础上获取所有数字并发送到短信网关,将该行设置为已发送。