Laravel队列处理,laravel队列



laravel 的队列服务对各种不同的后台队列服务提供了统一的 API。队列允许你延迟执行消耗时间的任务,比如发送一封邮件。这样可以有效的降低请求响应的时间。


队列的配置文件被存储在 config/queue.php 中。在这个文件中你会发现框架所支持的队列驱动的配置连接示例。这些驱动包括:数据库,Beanstalkd,Amazon SQS,Redis,和一个同步(本地使用)的驱动。

还有一个名为 null 的驱动表明不使用队列任务


  • 修改.env
CACHE_DRIVER=file 
// 这个值设为redis,且redis服务未启动,在执行php artisan queue:work会出现连接redis失败的错误,因此当QUEUE_DRIVER不为redis时,CACHE_DRIVER也不能为redis。
QUEUE_DRIVER=database
  •  创建job表
 php artisan queue:table
 php artisan migrate
  • 定义任务调度cron命令
  • 生成job文件(app/Jobs下面)
php artisan make:job SendCampaginEmail

定时执行推送给job队列文件SendCampaginEmail处理


SendCampaginEmail文件

。。。。。。
推给队列文件方法

$job = (new SendCampaignEmail($campaigninfo))->delay(1);
dispatch($job);

执行队列文件

php artisan queue:work
或是
php artisan queue:listen

两者区别查看文档吧

具体任务失败或是处理方法守护进程看文档:

http://laravelacademy.org/post/6125.html

死亡,美妙的长眠,值得高歌一曲,啦~~~

相关内容

    暂无相关文章