文档章节

Supervisor分布式

tonyzheng007
 tonyzheng007
发布于 2014/06/11 08:33
字数 461
阅读 197
收藏 0

##安装php5-xmlrpc扩展 sudo apt-get install php5-xmlrpc

##安装supervisor_twiddler sudo pip install -U supervisor_twiddler supervisor_twiddler这个包是supervisor的RPC的扩展,它允许supervisor的配置和状态在运行时可以被操纵

pip是python的包管理工具,如果没有装pip,可用sudo apt-get install python-pip进行安装

##配置supervisor 往supervisor.conf中加入下列 [rpcinterface:twiddler] supervisor.rpcinterface_factory = supervisor_twiddler.rpcinterface:make_twiddler_rpcinterface

改变supervisor.sock的权限,将默认的 [unix_http_server] file=/var/run/supervisor.sock ; (the path to the socket file) chmod=0700 ; sockef file mode (default 0700) 改为 [unix_http_server] file=/var/run/supervisor.sock ; (the path to the socket file) chmod=0766 ; sockef file mode (default 0700)

##配置config.php

  • define('REPO_PATH', '{repo_path}'); 代码路径,例如 : /var/www/campaign-portal
  • define('SUPERVISOR_SOCK', '{supervisor_sock}'); supervisor的sock地址,在supervisor.conf中supervisorctl块可以找到
  • define('SUPERVISOR_CONF', '{supervisor_conf}'); 生成work的配置文件地址,例如 : /etc/supervisor/conf.d/campaignportal.conf,同时需要更改这个文件的权限为777,使用命令sudo chmod 777 {supervisor_conf}
  • define('GROUP_NAME', '{group_name}'); 在{supervisor_conf}的文件末尾加上 [group:{group_name}] programs:{program_name}

##添加worker 进入目录{repo_path}/src/protected/ 输入命令php yiic resque addProgram --queue="email" --count=6 其中--queue表示监听的队列名, --count表示添加的worker的个数

##删除worker 进入目录{repo_path}/src/protected/ 输入命令`php yiic resque removeProgram --reserve=3 --queue="email" 其中--reserve表示保留的worker的个数, --queue可以指定队列名,若指定则表示保留监听队列{queue_name}的worker个数,若不指定--queue则默认表示所有队列

##测试发送邮件 分别用单台机器1个worker发送100条邮件,单台机器10个worker发送100条邮件,两台机器各10个worker发送100条邮件 (当用两台机器发送时,需将redis的地址配置成同一台机器即可) 测试结果: 单机器1worker耗时: 25s 单机器10worker耗时: 7s 两机器各10worker耗时: 4s

© 著作权归作者所有

共有 人打赏支持
上一篇: nginx 配置
下一篇: pip源
tonyzheng007
粉丝 1
博文 6
码字总数 948
作品 0
浦东
程序员
私信 提问
1、storm的安装

1:在一台机器上安装,然后拷贝到其他机器上即可,分布式软件的安装都是这个套路,软件包和配置文件都是一样的,只是启动的时候,启动不同的模块就行了。 1、解压tar.gz包到指定目录 tar -z...

刘付kin
2016/12/04
15
0
Linux下MongoDB服务安装

Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产...

OneTODO
2016/11/01
9
0
apache-storm分布式计算(drpc)开发心得

首先这东西是个拼凑出来的东西,啥zookeeper,nimbus,supervisor,drpc,一个服务不能少。对于我来说一开始不是部署集群还可以,大致步骤是先装zookeeper,这东西运行起来后,你才能跑nimbu...

uaisunshine
2015/03/27
0
2
Apache Storm 0.9.4 发布,分布式实时计算

Apache Storm 0.9.4 发布了,这是一个维护版本,主要是一些重要的 bug 修复,提升了稳定性和容错,建议用户升级。 该版本改进内容包括: STORM-559: ZkHosts in README should use 2181 as ...

oschina
2015/03/27
2.2K
6
Storm笔记整理(三):Storm集群安装部署与Topology作业提交

[TOC] Storm分布式集群安装部署 概述 Storm集群表面类似Hadoop集群。但在Hadoop上你运行的是”MapReduce jobs”,在Storm上你运行的是”topologies”。”Jobs”和”topologies”是大不同的,...

xpleaf
04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node.js学习笔记之koa框架和简单爬虫练习

Koa -- 基于 Node.js 平台的下一代 web 开发框架 koa是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。 使用 koa 编写 web 应用,可以免除重复繁琐的回调...

前端小攻略
24分钟前
3
0
JavaScript中的继承及实现代码

JS虽然不像是JAVA那种强类型的语言,但也有着与JAVA类型的继承属性,那么JS中的继承是如何实现的呢? 一、构造函数继承 在构造函数中,同样属于两个新创建的函数,也是不相等的 function Fn...

peakedness丶
46分钟前
3
0
记一次面试最常见的10个Redis"刁难"问题

导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 Redis在...

小刀爱编程
59分钟前
17
0
TiDB Lab 诞生记 | TiDB Hackathon 优秀项目分享

本文由红凤凰粉凤凰粉红凤凰队的成员主笔,他们的项目 TiDB Lab 在本届 TiDB Hackathon 2018 中获得了二等奖。TiDB Lab 为 TiDB 培训体系增加了一个可以动态观测 TiDB / TiKV / PD 细节的动画...

TiDB
今天
4
0
当区块链遇到零知识证明

本文由云+社区发表 当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相信某个论断是正确的。这个定义有点抽象,下面笔者举...

腾讯云加社区
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部