请选择 进入手机版 | 继续访问电脑版

千帆云

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1361|回复: 1

千帆接口队列使用情况简介

[复制链接]

7

主题

11

帖子

0

积分

超级版主

Rank: 8Rank: 8

积分
0
发表于 2018-6-21 16:00:24 | 显示全部楼层 |阅读模式 | 来自江苏
本帖最后由 千帆开发陈余邹 于 2018-6-27 21:53 编辑

消息队列的使用场景:异步处理,应用解耦,流量削锋和消息通讯等场景。使用消息队列可以直接提高系统的响应速度和吞吐率,从而提高整个系统的稳定性。


基于yii2-queue组件,底层存储支持
DB, Redis, RabbitMQ, Beanstalk and Gearman。目前我们内部使用的Redis,3.3版本新引入了Beanstalk。目前大部分任务依然执行在Redis队列中。

查看队列的使用情况:
php yii queue/info   查看redis队列
  1. Jobs
  2. - waiting: 0
  3. - delayed: 1
  4. - reserved: 0
  5. - done: 367
  6. Workers
  7. - queue.qianfan-version.worker.1: 127.0.0.1:13819
  8. - queue.qianfan-version.worker.2: 127.0.0.1:13827
  9. - queue.qianfan-version.worker.3: 127.0.0.1:13828
复制代码

php yii bqueue/info 查看beanstalk队列
  1. Statistical information about the tube:
  2. - name: queue.qianfan-version
  3. - current-jobs-urgent: 0
  4. - current-jobs-ready: 0     # 等待任务数
  5. - current-jobs-reserved: 0    # 正在处理的任务数
  6. - current-jobs-delayed: 7    # 延迟任务数
  7. - current-jobs-buried: 0    # 预留任务数
  8. - total-jobs: 106    # 总计任务数
  9. - current-using: 0
  10. - current-watching: 6
  11. - current-waiting: 6
  12. - cmd-delete: 99                 # 执行删除命令次数,任务执行成功后会被删除
  13. - cmd-pause-tube: 0
  14. - pause: 0
  15. - pause-time-left: 0
复制代码


我们使用作者推荐的supervisord程序监控php的worker进程。suvervisord的配置文件/etc/supervisord.conf。打开文件上面都是默认配置,我们只需要关心最后一行的配置

  1. [include]
  2. files = /home/sapi_queue_conf/*.ini ; 需要监控的所有worker进程的配置文件
复制代码
目前我们的所有worker的配置文件都在在/home/sapi_queue_conf目录下。


随便打开一个worker的配置文件
  1. [program:qianfan-queue-1]
  2. command=/usr/local/php/bin/php /home/www/sapi/yii queue/listen -v   ;启动脚本
  3. user = root
  4. autostart=true
  5. autorestart=true
  6. startsecs=5                 ; 启动几秒后没有错误就认为启动成功了
  7. startretries=100
  8. stdout_logfile=/var/log/workers/qianfan-queue-1-stdout.log  ; 输出流的日志路径
  9. stdout_logfile_maxbytes=10MB
  10. stdout_logfile_backups=10
  11. stdout_capture_maxbytes=10MB
复制代码


最常使用的命令:
supervisorctl status 查看worker进程状态
supervisorctl reload 重载配置并重启全部队列
supervisorctl start all 启动全部worker
supervisorctl stop all 停止全部worker
supervisorctl start xxx 启动指定的worker
supervisorctl stop xxx 停止指定的worker


Beanstalk
https://github.com/kr/beanstalkd github地址
https://www.jianshu.com/p/21770178ff2b  https://my.oschina.net/u/698121/blog/157092  教程
https://www.imooc.com/learn/912 视频教程
https://github.com/xuri/aurora web 管理工具go语言
https://github.com/mnapoli/phpBeanstalkdAdmin web管理工具php语言


Supervisor
http://supervisord.org 官网
https://github.com/Supervisor/supervisor github地址
http://www.ttlsa.com/linux/using-supervisor-control-program 教程


生产者消费者模型
AMQP协议

其他常用的队列系统:Kafka/ZeroMQ/AcitveMQ/RocketMQ/Celery






呵呵
回复

使用道具 举报

76

主题

280

帖子

0

积分

认证版主

Rank: 7Rank: 7Rank: 7

积分
0
发表于 2018-10-29 16:28:12 | 显示全部楼层 | 来自江苏
查看队列日志:
  1. tail -f /var/log/workers/qianfan-dev-queue-1-stdout.log /var/log/workers/qianfan-dev-queue-2-stdout.log /var/log/workers/qianfan-dev-queue-3-stdout.log
复制代码




回复 收起回复
B Color Smilies
还可输入 个字符
啦啦啦啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|千帆移动开放平台  

GMT+8, 2024-4-21 10:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表