问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP 做任务队列,现在常用的是哪个

发布网友 发布时间:2022-04-15 18:59

我来回答

3个回答

懂视网 时间:2022-04-15 23:20

gearman 创建Mysql持久化队列的方式如下:

1. 登入mysql命令行,运行:

create database gearman;

2. 启动gearman,命令如下:

/usr/local/gearman/sbin/gearmand -p 4730 -L 0.0.0.0 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -q MySQL --mysql-host=localhost --mysql-user=root --mysql-db=gearman --verbose DEBUG-d

具体的参数,根据自己的服务器状况去修改就行了。

3. 再次登入mysql命令行,执行:

use gearman;show tables;

就可以看到下面多了个“gearman_queue”的表。

这样,gearman就变成了持久化的方式。

=============================================================================

gearman用mysql持久化之后,其实会带来一些问题。

1. 每个任务都会写入数据库,这样会带来磁盘IO的损耗,并且gearman的性能瓶颈又多了一个可能,就是由数据库引起的性能问题。

2. mysql有个“wait_timeout”的参数,在mysql命令行中运行

show variables like "%timeout%";

可以看到wait_timeout的值,默认是28800。也就是说,如果一个mysql的连接,超过28800s没有任何响应,就会断开。

3. gearman持久化的方式,如果超过了mysql的wait_timeouts的时间没有任何响应,和数据库的连接就会被mysql断开,而且gearman目前是没有mysql重新连接的,结果就是,会导致如下错误,必须重启gearman才能重新正常工作。

gearman报错

ERROR 2014-04-01 02:10:02.897899 [ proc ] mysql_stmt_execute failed: -> libgearman-server/plugins/queue/mysql/queue.cc:357
ERROR 2014-04-01 02:10:02.897910 [ proc ] gearman_server_job_add gearman_server_run_command(QUEUE_ERROR) -> libgearman-server/server.cc:301

所以,gearman持久化方式带来的缺点显而易见,该方式下,要避免gearman对mysql连接超时断开,可以将mysql的wait_timeout参数改大。

或者,直接放弃用mysql的持久化方式。

热心网友 时间:2022-04-15 20:28

生产环境用过 Gearman + Redis。 Gearman 用来做 worker 的调度,Redis 保存 workload。持久化用 MySQL 慢慢倒腾。
php是单线程的脚本,就算是有队列,也是模拟的队列,服务端只能一个一个执行

热心网友 时间:2022-04-15 21:46

数组队列就好了,或者入栈出栈
目前流行的php开发工具有(用php开发的大型应用)

laravel可以说是从去年到今年都是最热门的PHP框架之一,它的优势在于易学习,上市容易,强大的扩展类库,可以直接使用Composer引用(laravel5.5以后不需要在文件引用外加的扩展类),你可以在它的官方文档中找到很多你能用的到的扩展类,不需要自己再进行开发,方便的artisan命令,一键生成MVC以及其他常用文件,并且支持队列,数据库...

大型的 PHP应用 通常使用什么应用做 消息队列 的

目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。

thinkphp 的 think-queue 队列使用

总之,使用 ThinkPHP 的 think-queue 队列功能,你需要完成依赖包的安装、配置队列驱动、创建队列文件、设置监听器以及执行任务等步骤。借助 Redis 的高效存储能力,你可以轻松实现消息队列的发送、接收与处理,提高应用的并发处理能力与稳定性。

workerman

Workerman概述 Workerman是一款基于PHP的开源高性能的工作进程框架,主要用于构建后台任务、消息队列等应用场景。它支持并发处理多个任务,具有稳定可靠、易于扩展的特点。下面详细介绍Workerman的特点和应用场景。Workerman的特点 1. 并发处理:Workerman基于PHP的多进程技术,能够同时处理多个任务,提高了系统的并发...

PHP实现消息队列MQ

在PHP中实现消息队列,首先需要安装RabbitMQ扩展,并在项目中添加Composer.json文件以整合RabbitMQ。实现包括简单模式(一对一)、Work模式(轮循队列)、Work模式(能者多劳)、每个消息只有一个消费者、发送者和接受者没有时间依赖、接受者确认消息接受和处理成功。Pub/Sub模式在RabbitMQ中实现松耦合设计...

PHP优先队列、二叉堆、大顶堆、小顶堆

优先队列也是一种数据结构,通过加权值进行排序,PHP核心库提供了 SplPriorityQueue 对象来实现。 优先队列内部是用 Heap:堆 这种数据结构来实现的,默认是大顶堆(MaxHeap)。优先队列改成小顶堆,需要重写compare方法,将比较值对调,即可切换小顶堆和大顶堆。堆就是为了实现优先队列而设计的一种...

ThinkPHP6 队列think-queue源码解析

总结,ThinkPHP 通过 redis 驱动提供了一套灵活的队列机制,包括主队列(redis 列表)、保留队列(redis 有序集合)和延迟队列(redis 有序集合),分别服务于执行任务、备份任务和处理过期任务。这套机制通过链表和有序集合的特性,实现了任务的异步执行、重试和过期处理,有效提升了应用的并发能力和稳定性...

TP6队列think-queue

延时队列的概念:延时队列是一种特殊类型的队列,它不仅具备队列的基本特性,还增加了延迟处理消息的功能,允许我们设定消息在特定时间点被处理。使用think-queue的方法:1.首先安装think-queue。2.接着安装redis。3.配置队列,具体操作是在项目根目录下的config文件夹中的queue.php文件里进行。4.创建队列...

PHP+Laravel框架RabbitMQ简单使用(PTP)

}}2.创建消费者因为消费者是需要常驻内存的,所以需要在cli下运行,我们可以通过以下操作创建一个任务。?php?artisan?make:command?RabbitmqConsumerCommand 基本代码(接下来就在command里面写消费消息的逻辑)<?phpnamespace?App\Console\Commands;use?Illuminate\Console\Command;use?PhpAmqpLib\Connection\...

PHP使用Beanstalkd做任务队列,是不是代表需要有一个PHP常驻进程

不是必须,你可以用Beanstalkd支持的任何语言 这里有一份Client Libraries清单:https://github.com/kr/beanstalkd/wiki/client-libraries

任务队列与消息队列 队列任务数是什么 任务队列 go 任务队列 实时任务队列 js任务队列 打印队列没有任务 php任务队列 socket任务队列
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
word文档怎么设置页码word怎么从中间开始设置页码 《祖宗模拟器》如何长寿长寿技巧分享 祖宗模拟器答案大全,你知道吗。 祖宗模拟器答案大全,哪位有? 宝石种类分为哪几类? 表格怎么自动排序号excel表格中自动生成序号技巧 表格如何自动排序仅需4步让Excel表格自动排序的方法 1.5匹富士空调电脑板开机就烧保险丝 为什么 修空调只是把拆了个压敏电阻,虽然可以运行,但这样没问题吗? 1.5富士空调电脑板一通电就烧保险丝为什么 手机停机qq黄钻自动续费能关闭吗? 我当年两三年不能使用手机,我的手机号会不会被停机?如果每个月自动续费(自动充费)手机却关机会不会? 手机停机怎么还扣费 手机卡欠费自动续费的服务会停止吗 QQ手机卡支付会员停卡了自动续费还在吗? 我QQ的SVIP是用手机话费支付的,然后每个月都是自动扣费,目前SVIP都没断过,但是手机停机了 手机卡欠费不用了,腾讯视频会员的自动续费会一直扣费吗?为什么我的手机卡停机了,会员还能用? 手机话费充的QQ会员自动续费,如果续费的手机号停机了,还会自动续费吗? 手机自动停机还可以自动续费QQ会员吗? 汽车赠与过户需要什么手续和证件 事业单位后勤编制招考一般考什么科目的 我是事业单位一名后勤工作人员,请问单位这样 事业单位行政后勤部门有什么中级证书可以考? 事业单位和机关后勤如何改革? 急急急急急急急请问,哪位大哥大姐知道?怎样才能管理好行政事业单位的后勤。 手机钢化屏没有隔离屏怎么换? 广州大学每个校区分别有什么课程 求助:广州大学本科生在哪个校区 广州大学的校本部在哪里 要去广州大学校本部考试,具体地址是番禺区小谷围岛外环西路230号,从天河客运站出发,要怎么到那边? 怎么开黄钻一个月有496成长值 充值一个月黄钻送496成长值 现在开通黄钻送成长值吗? 续费一年黄钻送多少成长值 开一年黄钻送多少成长值 现在的黄钻成长值各是多少? 跪求各种求芭比之歌星公主 完美圣诞节 美人鱼历险记2 国语版. 四句爱情藏头诗 谁有漂亮的qq空间代码?谢谢 藏头又藏尾的表白诗是怎么样的? qq免费皮肤代码 藏头又藏尾的爱情表白诗有哪些?和义女父女情深,通俗易懂的,浪漫一点的_百度问一问 藏头表白诗 跪求人鱼的旋律(真珠美人鱼\唱K小鱼仙)的全部中日文歌曲 有的话请发到我的邮箱:1553346146@qq.com 藏头表白诗。。。 谁有《下水道的美人鱼》恳求发到我的QQ邮箱:362129255@qq.com 跪求许嵩的所有歌(100多首吧)打包下载。。有的发邮箱371487947@qq.com~~~ 跪求首藏头的表白诗! 我想要个藏头表白诗 全村人跪求 下水道里的美人鱼 电影,请发到188810757@qq.com ~!