Pregunta

Estoy usando el sistema operativo Solaris 10 (x86). instalé beanstalkd y comienza bien usando el comando " beanstalkd -d -l hostip -p 11300 " ;.

Tengo Python 2.4.4 en mi sistema. Instalé las bibliotecas Python YAML y beanstalkc para conectar beanstalkd con Python. Mi problema es cuando intento escribir algún código:

importar beanstalkc beanstalk = beanstalkc.Connection (host = 'hostip', puerto = 11300)

no hay ningún error hasta el momento, pero cuando trato de hacer algo en beanstalk como decir listas de colas no pasa nada.

beanstalk.tubes ()

simplemente se cuelga y no vuelve nada. si cancelo la operación (usando ctr + c en python env.) o detengo el servidor, inmediatamente veo una salida:

Rastreo (última llamada más reciente):   Archivo & Quot; & Quot ;, línea 1, en?   Archivo & Quot; /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py & Quot ;, línea 134, en tubos     return self._interact_yaml ('list-tubes \ r \ n', ['OK'])   Archivo & Quot; /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py & Quot ;, línea 83, en _interact_yaml     tamaño, = self._interact (comando, esperado_ok, esperado_err)   Archivo & Quot; /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py & Quot ;, línea 57, en _interact     estado, resultados = self._read_response ()   Archivo & Quot; /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py & Quot ;, línea 66, en _read_response     respuesta = self.socket_file.readline (). split ()   Archivo & Quot; /usr/lib/python2.4/socket.py & Quot ;, línea 332, en línea de lectura     data = self._sock.recv (self._rbufsize)

alguna idea de lo que pasa? Soy un novato de Unix, así que no tengo idea de qué hice mal para causar esto.

editar: parece que el problema se encuentra dentro de BeanStalkd, ¿alguien ha usado esto en Solaris 10? si es así, ¿qué versión usaste? El v1.3 etiquetado no se compila en Solaris, mientras que el último del repositorio de código git compila causa el problema anterior (¿o tal vez hay alguna configuración que hacer en Solaris?).

edit2: instalé y compilé los mismos componentes con beanstalkd, PyYAML, pythonbeanstalc y libevent en una máquina UBUNTU y funciona bien. Los problemas parecen estar relacionados con la compilación de beanstalkd en Solaris, todavía tengo que producir o leer alguna solución.

¿Fue útil?

Solución

Podría saber qué está mal: no lo inicies en modo daemon (-d). He experimentado lo mismo y por accidente descubrí lo que está mal.

O mejor dicho, no sé qué está mal, pero funciona sin ejecutarlo en modo demonio.

./beanstalkd -p 9977 & amp;

como alternativa.

Otros consejos

Parece que el cliente python escucha al servidor, pero el servidor no tiene nada que decir.

¿Hay algo que leer para el cliente?

¿Hay un consumidor Y un productor?

Mira esto

Después de buscar en el código (beanstalkc):

su cliente ha enviado su mensaje 'list-tubes' y está esperando una respuesta. (hasta que lo mates) su servidor no responde o no puede enviar la respuesta al cliente. (o la respuesta es más corta de lo que el cliente espera)

es un administrador de red a su lado (o sitio) :-)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top