Gearman can be installed on Windows through cygwin.
Install cygwin packages (through setup.exe):
- gcc
- make
- libuuid1-devel
- libiconv
- boost
- libboost-devel
- libmpfr4
Download and unpack libevent 1.4 sources (to a directory without spaces, e.g. C:\cygwin\tmp
), then run:
cd libevent-1.4.14b-stable
./configure
make
make install
Now libevent should be installed on /usr/local/lib
, but this path is not in the library path and GCC will not find it automatically.
You can copy the generated libraries to /usr/lib
:
cp /usr/local/lib/libevent* /usr/lib
(this is not the cleanest solution, you are welcome to propose an alternative)
Download gearmand C server sources (to a directory without spaces, e.g. C:\cygwin\tmp
). Attention, because of this bug you can' install a version higher than V0.14. Here is a direct link to download V0.14.
Run:
cd gearmand-0.14
./configure
make
make install
Now the server is installed and you can launch it from a cygwin terminal:
/usr/local/sbin/gearmand.exe
Or if you want it to be ultra verbose:
/usr/local/sbin/gearmand.exe -vvv
You can also start the process and detach it from the terminal:
gearmand -d
Open 3 terminals.
In the 1st, start the Gearman server:
/usr/local/sbin/gearmand.exe
In the 2nd, start a worker:
gearman -w -f wc -- wc -l
In the 3rd, send a task to the Gearman server. It will be dispatched to the worker which will process it and return the result to the server, which will return it to you 3rd terminal.
gearman -f wc < /etc/passwd
Thanks pal. You saved my chops.