摘要:本文主要向大家介绍了PHP语言学习之thinkphp5 消息队列thinkphp-queue扩展,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
本文主要向大家介绍了PHP语言学习之thinkphp5 消息队列thinkphp-queue扩展,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
1.简介
thinkphp-queue是thinkphp的一个第三方扩展, 内置了 Redis,Database,Topthink ,Sync这四种驱动,推荐使用redis
2. 下载 和安装
composer require topthink/think-queue
配置目录在: application/extra/queue.php
‘connector‘ => ‘Redis‘, ‘expire‘ => 60, ‘default‘ => ‘default‘, ‘host‘ => ‘127.0.0.1‘, ‘port‘ => 6379, ‘password‘ => ‘‘, ‘select‘ => 0, ‘timeout‘ => 0, ‘persistent‘ => , ];
3.入队,创建队列的代码
think\ = ‘application\index\job\Hello‘ = "helloJobQueue" = [ ‘ts‘ => (), ‘bizId‘ => () , ‘a‘ => 1 = Queue::push( , , ( !== (‘Y-m-d H:i:s‘) . " a new Hello Job is Pushed to the MQ"."<br>" ‘Oops, something went wrong.‘
如果是多个任务:如果一个任务类里有多个小任务的话,如上面的例子二,需要用@+方法名app\lib\job\Job2@task1
、app\lib\job\Job2@task2
4.消费队列的代码:
<? fire(Job , = ->checkDatabaseToSeeIfJobNeedToBeDone((!-> = ->doHelloJob( ( ->("<info>Hello Job has been done and deleted"."</info>\n" (->attempts() > 3 ("<warn>Hello Job has been retried more than 3 times!"."</warn>\n"-> checkDatabaseToSeeIfJobNeedToBeDone( doHelloJob( (
执行代码:
php think queue:work --queue helloJobQueue
5.总结:
5.1 命名:
queue:subscribe 命令 [截至2017-02-15,作者暂未实现该模式,略过]
queue:work 命令
work 命令: 该命令将启动一个 work 进程来处理消息队列。
php think queue:work --queue helloJobQueue
queue:listen 命令
listen 命令: 该命令将会创建一个 listen 父进程 ,然后由父进程通过 proc_open(‘php think queue:work’)
的方式来创建一个work 子 进程来处理消息队列,且限制该work进程的执行时间。
php think queue:listen --queue helloJobQueue
queue:restart 重新开启
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号