laravel专题

laravel 队列

2017-03-31  本文已影响42人  fffff0155ae0

指导文章http://laravelacademy.org/post/6922.html
就是官方的中文翻译,感谢这位大大

命令行运行

php artisan make:job NoticeSms

app下面会自动创建Jobs文件夹,里面自动创建NoticeSms文件

传变量进去

添加私有变量,__construct上传入

private $data;
public function __construct($data)
{
$this->data=$data;
}
public function handle()
{
//业务逻辑
//读取传入参数
print_r($this->data);
}

给系统添加一条队列呢

在其他地方

use App\Jobs\NoticeSms;
public function sms_code(Request $request){
$data=array();
$data['mobile']=$mobile;
$data['app']='龙腾助手';
$mobile=rand(100000,999999);
session(['mobile_captcha' =>$mobile]);
$data['text']='龙腾助手';
$job = (new NoticeSms($data))->onQueue('sms_yzm');//队列名叫sms_yzm,和其他的区分
dispatch($job);//这个是关键
}

更多配置看翻译

让系统去执行队列

在命令行里执行

php artisan queue:work --tries=3 --queue=sms_yzm

如果有错误,你是看不到的,只能去系统日记里,先.env里设置成debug模式

APP_DEBUG=true

storage目录的logs的laravel.log查看错误
一般配置 查看怎么配置Supervisor

上一篇 下一篇

猜你喜欢

热点阅读