toplan/laravel-sms

队列发送始终失败(redis/database都尝试过)

liuqingliu opened this issue · 5 comments

请教一下诸位大神,我已经尝试过几天使用队列异步发送短信,但是未能成功,多次查询资料未果(百度和google均没找到解决办法),特此求教!!!

我说的发送失败,指的利用phpsms::queue()去发送,使用send方法使用队列发送失败

插件使用队列的时候是把整个sms对象序列化了,而很多配置信息是初始化在类的静态变量$task中,序列化的时候这些信息丢失了。可以在队列里面执行$this->sms-send()之前执行$this->sms->bootTask()把配置信息重新写到$task中

正好我也遇到这个问题, @zengzhaosong ,用你的方法解决了,多谢

这种方式在一个线程中发送多条短信的时候还是会有问题,要在job中执行
\PhpSms::beforeSend(function ($task) {}, true);
\PhpSms::afterSend(function ($task, $result) {}, true);
$this->sms->bootTask();
$this->sms->send();
@ssitcloud