beanstalkd java使用_如何安装和使用Beanstalkd工作队列

展开全部

使用aptitude安装:

下载并安装Beanstalkd运行以下命令:

aptitude install -y beanstalkd

编辑默认配置文件让随e5a48de588b662616964757a686964616f31333337386633着系统启动

vim /etc/default/beanstalkd

打开文件后,向下滚动并找到底部线#开始= yes。将其更改为:

START=yes

下面介绍源码安装

我们需要从源代码安装过程的一个关键工具- Git。

运行以下获取Git在你系统上:

aptitude install -y git

下载必要的开发工具软件包:

aptitude install -y build-essential

使用Git克隆(下载)官方库:

git clone https://github.com/kr/beanstalkd

进入到下载目录:

cd beanstalkd

从源代码构建应用程序:

make

安装:

make install

再介绍一下centos下源码安装:

下载地址:

wget http://cloud.github.com/downloads/kr/beanstalkd/beanstalkd-1.4.6.tar.gz

解压:

tar xzf beanstalkd-1.4.6.tar.gz

cd beanstalkd-1.4.6

/configure

make

make install

默认安装路径 :/usr/local/bin/

查看版本:

/usr/local/bin/beanstalkd -v

1.4.6

再附加一个启动脚本,从Fedora下挖来的 startup 脚本:

#!/bin/sh

#

# beanstalkd - a simple, fast workqueue service

#

# chkconfig: - 57 47

# description: a simple, fast workqueue service

# processname: beanstalkd

# config: /etc/sysconfig/beanstalkd

#

### BEGIN INIT INFO

# Provides: beanstalkd

# Required-Start: $local_fs $network $remote_fs

# Required-Stop: $local_fs $network $remote_fs

# Default-Stop: 0 1 2 6

# Short-Description: start and stop beanstalkd

# Description: a simple, fast work-queue service

### END INIT INFO

# Source function library.

/etc/rc.d/init.d/functions

# Source networking configuration.

/etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit

exec="/usr/local/bin/beanstalkd"

prog=$(basename $exec)

# default options, overruled by items in sysconfig

BEANSTALKD_ADDR=127.0.0.1

BEANSTALKD_PORT=11300

BEANSTALKD_USER=beanstalkd

[ -e /etc/sysconfig/beanstalkd ] && . /etc/sysconfig/beanstalkd

lockfile=/var/lock/subsys/beanstalkd

start() {

[ -x $exec ] || exit 5

echo -n $"Starting $prog: "

# if not running, start it up here, usually something like "daemon $exec"

options="-l ${BEANSTALKD_ADDR} -p ${BEANSTALKD_PORT} -u ${BEANSTALKD_USER}"

if [ "${BEANSTALKD_MAX_JOB_SIZE}" != "" ]; then

options="${options} -z ${BEANSTALKD_MAX_JOB_SIZE}"

fi

if [ "${BEANSTALKD_BINLOG_DIR}" != "" ]; then

if [ ! -d "${BEANSTALKD_BINLOG_DIR}" ]; then

echo "Creating binlog directory (${BEANSTALKD_BINLOG_DIR})"

mkdir -p ${BEANSTALKD_BINLOG_DIR} && chown ${BEANSTALKD_USER}:${BEANSTALKD_USER} ${BEANSTALKD_BINLOG_DIR}

fi

options="${options} -b ${BEANSTALKD_BINLOG_DIR}"

if [ "${BEANSTALKD_BINLOG_FSYNC_PERIOD}" != "" ]; then

options="${options} -f ${BEANSTALKD_BINLOG_FSYNC_PERIOD}"

else

options="${options} -F"

fi

if [ "${BEANSTALKD_BINLOG_SIZE}" != "" ]; then

options="${options} -s ${BEANSTALKD_BINLOG_SIZE}"

fi

fi

daemon $exec -d $options

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

# stop it here, often "killproc $prog"

killproc $prog -INT

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

}

restart() {

stop

start

}

reload() {

restart

}

force_reload() {

restart

}

rh_status() {

# run checks to determine if the service is running or use generic status

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart)

$1

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

restart

;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

exit 2

esac

exit $?

使用Beanstalkd

在安装之后,您就可以开始使用Beanstalkd服务器。以下是运行守护进程的选项:

-b DIR wal directory

-f MS fsync at most once every MS milliseconds (use -f0 for "always fsync")

-F never fsync (default)

-l ADDR listen on address (default is 0.0.0.0)

-p PORT listen on port (default is 11300)

-u USER become user and group

-z BYTES set the maximum job size in bytes (default is 65535)

-s BYTES set the size of each wal file (default is 10485760)

(will be rounded up to a multiple of 512 bytes)

-c compact the binlog (default)

-n do not compact the binlog

-v show version information

-V increase verbosity

-h show this help

使用例子:

# Usage: beanstalkd -l [ip address] -p [port #]

# For local only access:

beanstalkd -l 127.0.0.1 -p 11301 &

管理服务:

如果安装包管理器(i.e. aptitude),你将能够管理Beanstalkd作为服务守护进程。

# To start the service:

service beanstalkd start

# To stop the service:

service beanstalkd stop

# To restart the service:

service beanstalkd restart

# To check the status:

service beanstalkd status

获得Beanstalkd客户端库

Beanstalkd配有一长串的支持客户端库来处理许多不同的应用程序部署。这个列表的支持语言和框架,包括:

●Python

●Django

●Go

●Java

●Node.js

●Perl

●PHP

●Ruby

●and more.

查看完整列表支持,寻找你最喜欢的语言和安装说明,查看客户端库页面Beanstalkd Github上。

使用Beanstalkd

在本节之前,完成这篇文章,让我们快速Beanstalkd的基本用法。在我们的示例中,我们将使用Python语言和Beanstald Python bindings ——beanstalkc。

安装beanstalkc,运行以下命令:

pip install pyyaml

pip install beanstalkc

基本操作

在所有Python文件你想处理Beanstalkd时,需要导入beanstalkc并连接:

import beanstalkc

# Connection

beanstalk = beanstalkc.Connection(host='localhost', port=11301)

To enqueue a job:

beanstalk.put('job_one')

To receive a job:

job = beanstalk.reserve()

# job.body == 'job_one'

To delete a job after processing it:

job.delete()

To use a specific tube (i.e. queue / list):

beanstalk.use('tube_a')

To list all available tubes:

beanstalk.tubes()

# ['default', 'tube_a']

Final example (nano btc_ex.py):

import beanstalkc

# Connect

beanstalk = beanstalkc.Connection(host='localhost', port=11301)

# See all tubes:

beanstalk.tubes()

# Switch to the default (tube):

beanstalk.use('default')

# To enqueue a job:

beanstalk.put('job_one')

# To receive a job:

job = beanstalk.reserve()

# Work with the job:

print job.body

# Delete the job:

job.delete()

当您运行上面的脚本时,您应该会看到工作的主体被打印:

python btc_ex.py

# job_one

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值