首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel队列简单使用

    消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。...配置队列 安装扩展包 composer require "predis/predis:~1.0" 队列的配置信息存放在config/queue.php 在.env中修改配置驱动 QUEUE_DRIVER...=redis 使用redis驱动 REDIS_CLIENT=predis 使用predis 生成队列需要的数据表 有时候队列会执行失败,这张表用于存放失败信息 php artisan queue:failed-table...} 队列监控 1.通过命令监控 php artisan queue:listen 2.有图形界面的监控 Horizon 安装Horizon composer require "laravel/horizon...:~1.0" 生成配置 php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider" 接下来输入 http

    1.1K20

    laravel使用redis配置队列

    有些任务并不需要及时运行,就可以将其写入队列,从而不影响主业务逻辑的进程。如:用户发帖成功后推送消息给其关注的用户。...image 以下用一个场景来模拟队列: 模拟用户发贴 新建路由:routes/web.php Route::get('/publish-article', 'HomeController@publish...image 配置redis队列 每当用户成功发贴,就将这一事件写入队列,我们使用Redis作为队列驱动器 首先安装相应扩展 nrk/predis $ composer require predis/predis...修改 .env 的 QUEUE_CONNECTION 值 QUEUE_CONNECTION=redis 任务失败重试表 有时候队列中的任务会失败。...Laravel 内置了一个方便的方式来指定任务重试的最大次数。当任务超出这个重试次数后,它就会被插入到 failed_jobs 数据表里面。

    2K30

    Laravel之队列「建议收藏」

    默认是sync,即同步的,直接处理,无队列.要将其修改为对应的类型,如database,redis等 laravel学院文档地址 使用redis为例: 1,在config/queue.php return...2:connections配置项包含了Laravel支持的所有队列驱动,我们使用Redis驱动,所以需要配置redis项:connection对应config/database.php中redis的default...你可以使用 Artisan CLI 生成新的队列任务: php artisan make:job SendReminderEmail --queued //--queued告诉 Laravel 该任务应该被推送到队列而不是同步运行.../etc/supervisor/conf.d 目录,在该目录中,可以创建多个配置文件指示 Supervisor 如何监视进程,例如,让我们创建一个开启并监视queue:work 进程的laravel-worker.conf...文件: [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /home/forge

    2.3K10

    laravel-redis消息队列

    原理 消息队列由消息、队列、处理程序组成。 基本的流程就是由生产者(业务代码)将数据推送到队列中(此处使用的是Redis),然后由消费者(处理程序)从队列中取出数据进行加工处理。...Model; class Student extends Model { // 定义模型对应的数据库表名 protected $table = 'students'; } Laravel...的队列系统 队列配置文件存储在 config/queue.php,在.env文件中,配置queue的连接为 Redis QUEUE_CONNECTION=redis 任务类 接下来使用命令 php artisan...监听 开启监听队列 php artisan queue:work redis --queue=TestQueueStudent --tries=3 tries代表失败后最大尝试次数。...root@php:/var/www/html/laravel.cn# php artisan queue:work redis --queue=TestQueueStudent --tries=1 [2024

    46710

    记录:简单使用Laravel 队列 queue 教程

    php Laravel Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。...队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。 这里我们使用 database 做队列驱动,Laravel 版本为 5.8 1....生成测试数据 php artisan tinker; //进入tinker factory(App\User:class,30)->create() # 生成30条测试数据 3.建立测试控制器生成 job 队列...简单建立一个控制器,设置路由 通过$this->dispatch()生成队列; 队列任务 php artisan queue:work #运行所有队列任务,更多参数可以参考Laravel 官方手册 执行了php artisan queue:work 它会一直运行,需要你自己关闭

    1.8K30

    关于Laravel使用队列后台发送邮件

    今天要用到后台使用队列发送邮件,于是又稍微去了解了下Laravel中使用队列。...其实在最开始用Laravel写博客【 https://www.misiyu.cn 】已经了解过了,但当时既不知其然,更不知其所以然。...代码是真的写得一团糟,当然,博客是我第一次使用Laravel写一个完整的、稍微大型点的系统。并且但是对于Laravel的很多东西都不熟悉,不理解。...到了如今手里的项目,已经是第三个了,总算感觉明白Laravel是 优雅在哪个地方了。...然后将该Job分配到队列中,队列分配、运行可以参考我的这篇文章:https://www.misiyu.cn/article/113.html ,其它就不多说了 关于队列分配我想强调的一点,有两种方法

    2K00

    PHP-web框架Laravel-队列(二)

    定义作业在 Laravel 中,定义作业是通过实现 Illuminate\Contracts\Queue\Job 接口来完成的。这个接口定义了一个 fire 方法,用于处理作业的逻辑。...$event->job->resolveName()); }); }}// .envQUEUE_CONNECTION=redis这些代码实现了一个简单的队列作业。...当我们访问网站主页时,它会将一个处理播客的作业推送到队列中。我们还注册了两个队列事件监听器来记录作业何时开始处理和何时处理完成。我们将队列连接设置为Redis。...当我们运行作业时,可以在Laravel日志文件中查看两个事件的记录。...我们可以使用以下命令查看日志文件:php artisan log:tail通过这些代码,我们可以更好地了解如何在Laravel中使用队列来执行后台作业。

    81300

    Laravel中简单使用队列加快访问速度

    前言 Laravel 队列服务为各种不同的后台队列提供了统一的 API 允许推迟耗时任务(例如发送邮件)的执行,从而大幅提高 web 请求速度 总而言之,队列就是在后台执行一些耗时的任务,从而让前台访问速度加快...步骤 迁移队列需要的表 才开始尝试使用队列,还是简单点,使用数据库就行。...以上是队列所需数据表 php artisan queue:failed-table ? 以上是队列任务运行失败的记录表 多了两张表,好了,不用管了。 ?...肯定的啊,都是后台的队列了,那肯定就是后台执行啊。所以,laravel完全不适合在虚拟机里面运行,无论从composer包的安装还是其他方面来说。.../logs/laravel-xxx.log 2、处理失败的任务 在任务失败时, 你可以选择 清除失败的任务或者 重新执行失败的任务 查看所有失败的任务, 会将所有失败的任务查询出来输出到命令行

    2K00
    领券