思路是这样 前台点个按钮,后台直接返回成功,后台继续执行查询数据库写入redis,然后队列发送信息。又没有这样的案例或思路?
看看这个方法:fastcgi_finish_request
通过这个方法可以实现。先输出对应的json内容。然后执行该函数,主动断开与客户端的链接。然后继续执行后续任务(查询数据库写入redis,然后队列发送信息)。
但是这种是简单的处理方式。如果你的短信请求量超级高的话。可以通过队列的方式去实现。
因为队列的就是用来削峰填谷的。😁
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答611 阅读✓ 已解决
799 阅读
这个思路可以实现一种异步批量发送短信的方式,在不影响前台响应时间的情况下,可以在后台进行短信发送和数据库操作等耗时操作。
下面是一种可能的实现方式:
再次在后台启动一个异步任务,使用Redis中的数据发送短信,发送短信过程中,如果出现了异常,可将异常信息记录到日志中进行分析和排查。
下面是一个简单的代码示例(仅供参考):
这个示例代码中使用Redis作为消息队列,将要发送的短信数据存入Redis队列中,再调用异步任务来发送短信。可以在异步任务中调用短信服务商的API接口来发送短信,并在出现异常时记录到日志中进行分析和排查。需要注意的是,为了避免出现异常而导致的连续发送短信失败的情况,可以通过添加异常处理机制来确保程序的健壮性。