Domanda

I am trying to run the example on "http://gearman.org/getting_started" on Ubuntu in VirtualBox environment.

At first I tried to download an old version 0.16 by using apt-get install gearman-job-server, apt-get install gearman-tools and everything worked well. The server ran in the background, I was able to create 2 workers and verify that I can call them by creating a client.

I decided to download and compile the latest version, 1.1.6. Now, I am trying to do the same thing with the new version and I am having errors.

I run the server as admin:

  sudo gearmand

The statement

  gearadmin --getpid

seems to work - it returns me the process ID of the server. Thus, the server is running, and this answer is not relevant.


Now, I am adding a worker:

 gearman -w -f wc -- wc -l 

It seems to run.

Nevertheless,

gearadmin --workers 

results in something that probably represents and empty list :

33 127.0.0.1 - :
.

(In version 0.16, I was able to see 2 lines, the second showing the registered function name.)


Attempting to run the client

 gearman -f wc < /etc/passwd

results in

 gearman: gearman_client_run_tasks : flush(GEARMAN_COULD_NOT_CONNECT) localhost:0 -> libgearman/connection.cc:671"

This might be the very same problem described in here - the port not specified, but I have no idea how to do it through the command line tool.

Any idea?

È stato utile?

Soluzione

Ok, It looks like the answer in here was the key to success. Probably, the "getting started" section was not updated for a while. Indeed, one must specify a port explicitly for gearmand and gearman .

Server:

 sudo gearmand -p 5000

Worker:

 gearman -p 5000 -w -f wc -- wc -l 

Client:

 gearman -p 5000 -f wc < /etc/passwd
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top