laravel job 队列
1.数据库建表
php artisan queue:table<span> </span>//队列任务表
php artisan queue:failed-table<span> </span>//任务执行失败表
php artisan migrate
2.创建job类
<?php namespace App\Jobs; use App\Services\TestService;
use Illuminate\Support\Facades\Log; class CommentInfoJob extends Job
{ public $commentService;
public $user_id;
public $comment_id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_id,$comment_id)
{
$this->user_id = $user_id;
$this->comment_id = $comment_id;
} /**
* Execute the job.
*
* @return void
*/
public function handle()
{ (new TestService())->testsssss($this->user_id,$this->comment_id);
}
}
3.在job类中,实现逻辑
job主要包括三个函数
- 构造函数 可选,用来传参
- handle() 必选,实现队列任务逻辑
- failed() 可选,当任务失败时执行
4.分发队列任务
dispatch(new CommentInfoJob($params['user_id'], $params['comment_id']));
5.开启队列进程,执行队列任务
php artisan queue:work
这种方式不能关闭teminal,比较不方便。所以一般使用Supervisor。
以上就可以完成一个简单的队列任务。
在laravel中有一个很关键的点:配置为database驱动。
在/config/queue.php中,需要将connections设置为database。而这一配置是从.env文件中获取的
将queue_driver配置为database。
laravel job 队列的更多相关文章
- 使用Laravel的队列实现系统通知、
使用Laravel的队列实现系统通知. 第一步:创建 jobs表的migrate php artisan queue:table 第二步:创建jobs 表 php artisan migrate 第三 ...
- Laravel Queues 队列应用实战
队列,顾名思义,排着队等着做事情.在生活场景中,凡是排队的人,都是带有目的性的.要完成某件事情,才去排队的,要不没有谁会闲到排队玩儿.而在软件应用层面,队列是什么,队列有什么优点,我们什么时候需要用队 ...
- Laravel中队列的使用
以laravel5.5为例子: 1.配置队列:composer require "predis/predis:~1.0" a.在ENV中配置:QUEUE_DRIVER=redis ...
- laravel queue队列使用
一篇文章: laravel中的队列服务跟其他队列服务也没有什么不同,都是最符合人类思维的最简单最普遍的流程:有一个地方存放队列信息,一个PHP进程在运行时将任务写入,另外一个PHP守护进程轮询队列信息 ...
- Laravel之队列
一.配置 队列配置文件存放在config/queue.php .在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库.Beanstalkd. IronMQ. Amazon SQS. Re ...
- Laravel异步队列全攻略
最近项目需求,研究了laravel的异步队列.官方文档虽然很是详细,但也有些晦涩难懂,在此记录下步骤,供大家参考. 1.修改/config/queue.php文件 <?php return [ ...
- Laravel消息队列怎么使用
使用database驱动做队列 下面是简单使用教程 1. 修改.env文件配置 QUEUE_CONNECTION=sync改成QUEUE_CONNECTION=database 默认的sync是同步队 ...
- laravel队列-让守护进程处理耗时任务
待解决的问题 最近在做一个服务器集群管理的web项目,需要处理一些极其耗时的操作,比如磁盘格式化分区.对于这个需求,最开始的想法是,为了让节点上的rpc(远程过程调用) service端尽可能简单(简 ...
- Laravel中的队列处理
Laravel中的队列处理 队列介绍 为什么要有消息队?这里先对其进行一个简单的介绍,方便还不了解的同学理解.在面向对象里,有一个很简单的概念--消息传递,而消息队列就可以在它上面扩展一下,把它说的更 ...
随机推荐
- UI中table写表格
- 第15课 - make的隐式规则(上)
第15课 - make的隐式规则(上) 1. 问题 如果把同一个目标的命令拆分的写到不同地方,会发生什么? 执行make all 这个实验表明了:如果同一个目标的命令拆分的写到不同地方,那么 make ...
- 安装Scrapy提示ERROR: 'xslt-config' 不是内部或外部命令,也不是可运行的程序
环境:win7.Python 2.7.12.PyCharm 2016.3 Requirement already satisfied (use --upgrade to upgrade): scrap ...
- HTTP 【值得你看个究竟】
我是一名程序员,我的主要编程语言是 Python,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟.醍醐灌顶的感觉. 认识 ...
- hystrix源码之AbstractCommand
AbstractCommand HystrixCommand和HystrixObservableCommand的父类.每个command对应一个HystrixCommandKey.HystrixThr ...
- uni-app开发注意事项
关于vue 1.注意 如果使用老版的非自定义组件模式,即manifest中"usingComponents":false,部分模版语法不支持,但此模式已于2019年11月起下线. ...
- 解决flutter 运行时:Waiting for another flutter command to release the startup lock...
执行 Flutter 包管理相关命令时有可能遇到 Waiting for another flutter command to release the startup lock... 这样的错误,可尝 ...
- linux系统或centos7安装nginx
一.Linux下安装nginx 1.添加源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-cen ...
- SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录
SFUD+FAL+EasyFlash典型场景需求分析:用整个flash存储数据,上千条数据,读取得时候用easyflash很慢,估计要检索整个flash太慢了. 改进方法:分区检索. 1存数据时,根据 ...
- windows.h系统函数
转载:https://blog.csdn.net/u010756046/article/details/82432312 // Windows系统函数.cpp: 定义控制台应用程序的入口点.// #i ...