Red de conocimiento informático - Material del sitio web - Cómo instalar y utilizar la cola de trabajo de Beanstalkd

Cómo instalar y utilizar la cola de trabajo de Beanstalkd

Instale usando aptitude:

Descargue e instale Beanstalkd ejecutando el siguiente comando:

aptitude install -y beanstalkd

Edite el archivo de configuración predeterminado para que comience desde el sistema

vim /etc/default/ beanstalkd

Abra el archivo, desplácese hacia abajo y busque la línea inferior #start=yes. Cambiar a:

START=yes

A continuación se muestra la instalación del código fuente

Una de las herramientas clave que necesitamos para instalar el proceso desde el código fuente: Git .

Ejecute el siguiente comando para instalar Git en su sistema:

aptitude install -y git

Descargue los paquetes de desarrollador necesarios:

aptitude install -y build-essential

Utiliza Git para clonar (descargar) el repositorio de software oficial:

git clone /kr/ beanstalkd

Ir a la descarga directorio:

cd beanstalkd

Compile la aplicación desde el código fuente:

make

Instale:

make install

p>

Para obtener más información sobre la instalación del código fuente en centos:

Descargar:

wget /downloads/kr/beanstalkd/beanstalkd-1.4.6.tar. gz

Descomprimir:

tar xzf beanstalkd-1.4.6.tar.gz

cd beanstalkd-1.4.6

/configure

make

make install

Ruta de instalación predeterminada: /usr/local/bin/

Ver versión:

/usr/local /bin/ beanstalkd -v

1.4.6

Un script de inicio adicional, que se encuentra en Fedora:

#! /bin/sh

#

# # beanstalkd - Un servicio de cola de trabajo rápido y sencillo

#

# chkconfig:- 57 47

# # descripción: un servicio de cola de trabajo rápido y simple

## nombre de proceso: beanstalkd

## config:/etc/sysconfig/beanstalkd

####

###### COMENZAR INFORMACIÓN INICIAL

## Proporciona: beanstalkd

# Proporciona: beanstalkd

# Inicio requerido: $local_fs $network $remote_fs

# Parada requerida:

## Parada predeterminada: 0 1 2 6

## Descripción breve: iniciar y detener beanstalkd

## Descripción: un servicio de cola de trabajo rápido y sencillo

## END INIT INFO

# # Biblioteca de funciones de origen.

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

## Configuración de red de origen.

/etc/sysconfig /network

# Compruebe si la red está iniciada.

[ "$NETWORKING" = "no" ] amp; salir

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

prog= $(basename $exec)

## Opción predeterminada, anulada por elementos en sysconfig

BEANSTALKD_ADDR=127.0.0.1

BEANSTALKD_PORT= 11300

BEANSTALKD_USER=beanstalkd

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

lockfile=/var/lock/subsys/ beanstalkd

start() {

[ -x $exec ] || salida 5

echo -n $"Iniciando $ prog: "

# Si no se está ejecutando, inícielo aquí, normalmente algo así como "daemon $exec"

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

if [ "${BEANSTALKD_MAX_JOB_SIZE}" ! = "" ] entonces

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

fi

fi

if [ "${BEANSTALKD_BINLOG_DIR}" ! = "" ] entonces

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

echo "Crear directorio binlog (${BEANSTALKD_BINLOG_DIR})"

mkdir -p ${BEANSTALKD_BINLOG_DIR} amp; amp DIR} amp; ${beanstalkd_binlog_dir}.

fi

options="${options} -b ${BEANSTALKD_ BINLOG_DIR}"

if [ "${BEANSTALKD_BINLOG_FSYNC_PERIOD}" = "" ]

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

si no

options="${options} -F"

p>

fi

if [ "${BEANSTALKD_BINLOG_SIZE}" ! = "" ] entonces

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

fi

fi

demonio $exec -d $opciones

retval=$?

echo

echo

p>

[ $retval -eq 0 ] amp; toque $lockfile

return $retval

}

stop() {

p>

echo -n $"Detener $prog: "

# Deténgalo aquí, utilice siempre "killproc $prog"

killproc $prog -INT

retval=$?

echo

[ $retval -eq 0 ] amp;amp; rm -f $lockfile

return $retval

}

restart() {

detener

iniciar

}

recargar () {

reiniciar

}

force_reload( ) {

reiniciar

}

rh_status() {

# Ejecute una verificación para determinar si el servicio se está ejecutando o está usando genérico estado

estado $prog

}

rh_status_q() {

rh_status gt;/dev/null 2gt;amp;1

}

caso "$1" en

inicio)

rh_status_q amp; salida 0

$1

;

detener)

rh_status_q || salir 0

$ 1

; >rh_status_q || salida 7

$1

;

Forzar recarga)

force_reload

; p>

estado)

rh_status

;;

condrestart|try-restart)

rh_status_q || salir 0

reiniciar

;;

*)

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

salir 0

salir 2

esac

salir $?

Uso de Beanstalkd

Una vez completada la instalación, puede Comience a usar el servidor Beanstalkd. Las siguientes son las opciones para ejecutar el demonio:

-b directorio DIR wal

-f MS fsync como máximo una vez cada milisegundos de MS (use -f0 para "siempre fsync")

-F nunca fsync (predeterminado)

-l ADDR escucha en la dirección (el valor predeterminado es 0.0.0.0)

-p PORT escucha en el puerto (el valor predeterminado es 11300 )

-u USER Conviértete en usuario y grupo

-z BYTES Establece el tamaño máximo del trabajo en bytes (el valor predeterminado es 65535)

-s BYTES Establezca el tamaño de cada archivo de billetera (el valor predeterminado es 10485760)

(redondeado a múltiplos de 512 bytes)

-c binlog comprimido (el valor predeterminado es 65535)

- pc comprime binlog (predeterminado)

-n no comprime binlog

-v muestra información de la versión

-V aumenta la redundancia

p>

-h Mostrar ayuda

Ejemplo de uso:

# Uso: beanstalkd -l [dirección IP] -p [puerto#]

# Para acceso local solo:

beanstalkd -l 127.0.0.1 -p 11301 amp;

Servicios de administración:

Si tiene instalado un administrador de paquetes (como aptitude), puedes gestionar Beanstalkd como un demonio de servicio.

# Iniciar el servicio:

service beanstalkd start

# Detener el servicio:

service beanstalkd stop

# Reiniciar el servicio:

service beanstalkd restart

# Para comprobar el estado:

service beanstalkd status

Obtener el cliente Beanstalkd biblioteca

p>

Beanstalkd viene con una larga lista de bibliotecas cliente compatibles para manejar muchas implementaciones de aplicaciones diferentes. La lista de lenguajes y frameworks compatibles incluye:

●Python

●Django

●Go

●Java

●Node.js

●Perl

●PHP

●Ruby

●Y más.

Vea la lista completa de soporte, encuentre su idioma favorito y las instrucciones de instalación, y consulte la página de la biblioteca del cliente en Beanstalkd Github.

Uso de Beanstalkd

Antes de esta sección, comprendamos rápidamente el uso básico de Beanstalkd.

En nuestro ejemplo, usaremos el lenguaje Python y el enlace Python Beanstalkd: beanstalkc.

Para instalar beanstalkc, ejecute el siguiente comando:

pip install pyyaml

pip install beanstalkc

Operaciones básicas

En todos los archivos Python que usan Beanstalkd, necesitas importar beanstalkc y conectarte a él:

importar beanstalkc

# Conexión

beanstalk = beanstalkc Conexión(host='localhost', puerto=11301)

Habilitar trabajo:

beanstalk.put('job_one')

Recibir trabajo:

job = beanstalk.reserve()

# job.body == 'job_one'

Eliminar el trabajo después de procesarlo:

job.delete ()

Utilice una canalización específica (es decir, cola/lista):

beanstalk.tubes()

# ['default', 'tube_a ']

Ejemplo final (nano btc_ex.py):

importar beanstalkc

# Conectar

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

# Ver todos los tubos:

beanstalk.tubes()

# Cambiar al valor predeterminado (pipeline):

beanstalk.use('default')

# Para habilitar un trabajo:

beanstalk.put('job_one')

# Para recibir un trabajo:

trabajo = beanstalk. reserve()

# Procesar trabajo:

imprimir trabajo.body

# Eliminar trabajo :

job.delete()

Cuando ejecuta el script anterior, debería ver el cuerpo del trabajo impreso:

Cuando ejecuta el script anterior , deberías Verás el texto del trabajo impreso:

Python btc.put('job_one'

Beanstalk.