资讯专栏INFORMATION COLUMN

Laravel队列小结

MoAir / 1460人阅读

摘要:说明队列配置文件存放在。每一种队列驱动的配置都可以在该文件中找到,包括数据库,,,,以及同步本地使用驱动。其中还包含了一个队列驱动用于那些放弃队列的任务。

说明

队列配置文件存放在 config/queue.php。

每一种队列驱动的配置都可以在该文件中找到, 包括数据库, Beanstalkd, Amazon SQS, Redis, 以及同步(本地使用)驱动。

其中还包含了一个null队列驱动用于那些放弃队列的任务。

使用databse驱动

修改 .env 中的配置项 QUEUE_DRIVERdatabase

首先要创建数据表来存储任务,php artisan queue:table php artisan migrate

创建 job 文件, php artisan make:job SendReminderEmail

在 Controller 层 $this->dispatch(new SendRemindEmail()) 生产队列,于是 database jobs 中记录了最新添加的队列任务

单一消费队列 php artisan queue:work

依次消费所有队列 php artisan queue:listen

使用beanstalkd驱动

安装 beanstalkd: sudo apt-get install beanstalkd

service beanstalkd start

/usr/bin/beanstalkd -l 127.0.0.1 -p 11300

安装其依赖扩展包 composer require pda/pheanstalk

依然修改 .env中的配置项 QUEUE_DRIVERbeanstalkd

生产队列后的数据存储在内存中,消费者直接从内存中获取数据消费掉,其命令同上介绍。

安装beanstalk-console,如果使用composer 可执行 composer create-project ptrofimov/beanstalk_console -s dev,如果使用laradock 可直接 docker-composer up -d beanstalk-console

使用supervisor驱动

安装 supervisor: sudo apt-get install supervisor, 也可以去官网下载最新稳定版本

编辑新的配置文件 cd /etc/supervisor/conf.d/demo.conf,配置项模板如下

重新读取新的配置文件执行 sudo supervisorctl reread sudo supervisorctl update

启动对应配置项worker执行 sudo supervisorctl start demo:*

[program:demo]
process_name=%(program_name)s_%(process_num)02d
command=php /your-project-path/artisan queue:listen --tries=3
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true
stdout_logfile=/your-project-path/storage/logs/worker.log
写在结尾

Script Maker Day Day Up!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26193.html

相关文章

  • Laravel 的 ORM 返回的数据类型小结

    摘要:一简介的数据库查询构造器提供了一个方便流畅的接口,用来创建及运行数据库查询语句。的查询构造器使用参数绑定,来保护你的应用程序免受注入的攻击。和返回的是影响行数,即失败为,成功为删除行数。 相信很多人在学习 Laravel 时,会对 ORM 返回的数据类型产生混淆,如返回集合,模或者整数类型,下面将对增删改查操作进行一个小结。 一、简介 Laravel 的数据库查询构造器提供了一个方便、...

    LeviDing 评论0 收藏0
  • Laravel Passport API 认证使用小结

    摘要:看到社区常有人问用于密码验证方式来获取的问题,刚好我最近一个项目使用,也是使用的密码授权来做验证,对于如何做登录登出,以及多账号系统的认证等常用场景做一下简单的使用小总结。 看到Laravel-China社区常有人问Laravel Passport用于密码验证方式来获取Token的问题,刚好我最近一个API项目使用Laravel Dingo Api+Passport,也是使用Oauth...

    Panda 评论0 收藏0
  • Laravel 教程 - 实战 iBrand 开源电商 API 系统

    摘要:最佳实践良好的编码规范单元测试持续集成文档,从一开始就形成良好的编码习惯。真实的电商业务所有的业务需求来自真实的客户,并且线上良好运营中。 重要通知: Laravel + 小程序的开源电商版本源码已经在 github 上拉,欢迎提交 issue 和 star :) 开源电商 Server 端: Laravel API源码 开源电商 client 端:小程序源码 iBrand 简介...

    iOS122 评论0 收藏0
  • PHP日常开发小结

    摘要:参考一些博主的经验和自己的开发经验进行总结持续更新。优先使用和集合来操作和处理数据。 参考一些博主的经验和自己的开发经验进行总结-持续更新ing。 功能设计 功能尽量模块化; 类的设计尽量单一,函数功能单一; 需要uml图(类图、时序图、组件图)、文档沉淀; 编写风格 遵循PSR-1 基础编码规范https://laravel-china.org 遵循PSR-2 编码风格规范h...

    xfee 评论0 收藏0
  • Laravel自定义模板指令小结

    摘要:模板包含大量的内置指令,例如等等,内置的指令对于做一个简单的项目足以,但是当你在代码中编写重复复杂的功能时,那么自定义模板指令或许可以帮你优化你的视图结构。 showImg(https://segmentfault.com/img/remote/1460000012420445?w=730&h=335); 介绍 通常我们在视图模板中编写复杂的逻辑,看上去显得很杂乱,那么使用自定义的模板...

    tracymac7 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<