37 lines
994 B
PHP
37 lines
994 B
PHP
<?php
|
||
namespace app\job;
|
||
|
||
use app\repository\AccountRepository;
|
||
use think\queue\Job;
|
||
|
||
class NotifySms
|
||
{
|
||
public function fire(Job $job, $data){
|
||
|
||
//短信通知列表
|
||
if ($data) {
|
||
foreach ($data as $item) {
|
||
echo sprintf("短信发送成功!phone:%s time:%s \n", $item['mobile'], date('Y-m-d H:i:s'));
|
||
sleep(mt_rand(1,3));
|
||
}
|
||
}
|
||
|
||
// if ($job->attempts() > 3) {
|
||
// //通过这个方法可以检查这个任务已经重试了几次了
|
||
// echo sprintf('发送短信失败过多');
|
||
// }
|
||
|
||
|
||
//如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
|
||
$job->delete();
|
||
|
||
// 也可以重新发布这个任务
|
||
// $job->release(3); //$delay为延迟时间
|
||
|
||
}
|
||
|
||
public function failed($data){
|
||
|
||
// ...任务达到最大重试次数后,失败了
|
||
}
|
||
} |