异步发送短信

异步发送短信

1. celery介绍

pip install celery == 4.4.7

pip install redis == 3.5.3

pip install eventlet == 0.26.1

Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子:

  • 异步任务:将耗时的操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音频处理等等
  • 做一个定时任务,比如每天定时执行爬虫爬取指定内容
  • 还可以使用celery实现简单的分布式爬虫系统等等

Celery 在执行任务时需要通过一个消息中间件(Broker)来接收和发送任务消息,以及存储任务结果

Celery有以下优点:

  • 简单:Celery 易于使用和维护,并且它 不需要配置文件 ,并且配置和使用还是比较简单的(后面会讲到配置文件可以有)
  • 高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务
  • 快速:单个 Celery 进程每分钟可处理数以百万计的任务,而保持往返延迟在亚毫秒级
  • 灵活: Celery 几乎所有部分都可以扩展或单独使用,各个部分可以自定义。

celery核心

1、Task

任务(Task)就是你要做的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用Spring Boot提供的异步处理机制来发送短信,具体步骤如下: 1. 在pom.xml中添加阿里云短信SDK的依赖: ``` <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.3</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.0.0</version> </dependency> ``` 2. 在application.properties中配置阿里云短信服务的AccessKey、SecretKey等信息: ``` aliyun.sms.accessKey=xxx aliyun.sms.secretKey=xxx aliyun.sms.regionId=cn-hangzhou aliyun.sms.signName=xxx aliyun.sms.templateCode=xxx ``` 3. 创建一个短信发送的Service,使用@Async注解标注异步方法,代码如下: ``` @Service public class SmsService { @Autowired private IAcsClient acsClient; /** * 发送短信 * * @param phoneNumbers 手机号 * @param templateCode 短信模板 * @param signName 短信签名 * @param templateParam 短信模板参数 */ @Async public void sendSms(String phoneNumbers, String templateCode, String signName, String templateParam) throws ClientException { SendSmsRequest request = new SendSmsRequest(); request.setPhoneNumbers(phoneNumbers); request.setSignName(signName); request.setTemplateCode(templateCode); request.setTemplateParam(templateParam); SendSmsResponse response = acsClient.getAcsResponse(request); if (!"OK".equals(response.getCode())) { throw new RuntimeException("短信发送失败:" + response.getMessage()); } } } ``` 4. 在需要发送短信的地方调用sendSms方法即可: ``` @Autowired private SmsService smsService; ... smsService.sendSms("手机号", "短信模板", "短信签名", "短信模板参数"); ``` 这样就可以使用Spring Boot的异步处理机制发送短信了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年丿之后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值