指导文章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
网友评论