No Description http://gearman.org/

Brian Aker ff064c18d3 Fix for build (unused variable). 13 years ago
benchmark 573f997f94 Partial commit. 14 years ago
bin 3805d363a8 Merge in breakout for parser function. 13 years ago
config 6251b89c9c Merge in updates since .20, this includes new build configs. 14 years ago
docs 3fc65a39c9 Merge in test for protocol numbering. 13 years ago
examples b7e3c1769f Merge in docs. 14 years ago
gearmand 53124cd243 Fix -d for gearmand 14 years ago
libgearman 6b44c201f1 Shifted the parse bits into their own file. 13 years ago
libgearman-server 21e2bf709d Merge in cleanup from OSX builds. 14 years ago
libtest ff064c18d3 Fix for build (unused variable). 13 years ago
m4 6d3143f9e6 recv(), close() 14 years ago
scripts df48529bed Took care of scripts and support. 15 years ago
support 474edbe609 Add many test cases/work out more of the details of execute. 14 years ago
tests 3fc65a39c9 Merge in test for protocol numbering. 13 years ago
util 6251b89c9c Merge in updates since .20, this includes new build configs. 14 years ago
.bzrignore aaca5d9449 Merge in documentaion updates. 13 years ago
.quickly 6251b89c9c Merge in updates since .20, this includes new build configs. 14 years ago
AUTHORS 483703c9f7 update the changelog and the authors file. 14 years ago
COPYING 3740ff1fe2 Fix for bad copyright headers. 14 years ago
ChangeLog 436b12ba05 Merge in additional docs. 13 years ago
HACKING 8c1edfa6b9 Merge in all DD fixes that can be merged with this version. See Changelog for lists of fixes 14 years ago
Makefile.am 88e89ea33d Merge in namespace docs. 14 years ago
NEWS 66e9eb9419 Import from HG 16 years ago
PROTOCOL 9c4eb2dddc Tweaked doc configs, fixed PROTOCOL typo. 15 years ago
README 35e791926b Merged Monty's build changes. 15 years ago
configure.ac aaca5d9449 Merge in documentaion updates. 13 years ago

README

# Gearman server and library
# Copyright (C) 2008 Brian Aker, Eric Day
# All rights reserved.
#
# Use and distribution licensed under the BSD license. See
# the COPYING file in this directory for full text.


*** IMPORTANT ***

Since release 0.3, the default port has been changed to the new IANA
assigned port, 4730. If you are using this package with older clients,
workers, or job servers that ran on port 7003, be sure to set port
options appropriately!

*** IMPORTANT ***


Hi!

You've most likely downloaded this package as a tar.gz distribution,
so you'll want to read Getting Started. If you are interested in
developing or submitting patches to the project, read the Contributing
and Coding Style sections.


Getting Started
---------------

To build, you can follow the normal:

./configure
make
make install

You can also run 'make test' before installing to make sure everything
checks out ok. Once you have it installed, you can start the Gearman
job server with:

gearmand -v

This will start it while printing some verbose messages. To try
running a job through it, look in the examples/ directory of this
source and run:

./reverse_worker

Once that is running, you can run your first job with:

./reverse_client "Hello, Gearman!"

If all goes well, the reverse_worker application should have output:

Job=H:lap:1 Workload=Hello, Gearman! Result=!namraeG ,olleH

While the reverse_client returned:

Result=!namraeG ,olleH

If you want to start writing your own client and workers, be sure to
check out the developer API at:

http://www.gearman.org/docs/api/

You can also find other useful resources related to the project at:

http://www.gearman.org/

Enjoy!


Contributing
------------

If you are getting this code from https://launchpad.net/gearmand
then continue reading. Otherwise these directions are not for you
(well maybe...).

To obtain code from https://launchpad.net/gearmand you will need to
issue the following command:

bzr branch lp:gearmand

Once the tree is branched you will need to build the "configure"
script. You can do this by running the script:

./config/autorun.sh

It will set up all of the files you need to build the package. At
that point it is just the typical "./configure; make; make test;
make install"

For a tarball release do a "make dist" and for an RPM type "make rpm".

For patches please create a branch on launchpad and propose it to be
merged into the trunk. You can find out more information on how to
do this at the launchpad help site:

https://help.launchpad.net/


Coding Style
------------

Variables during assignment should be like:
a= 12;

When in doubt, use (). It means I clearly know that you meant for an
operation to follow a specific order.

Cast return types void when there is a possibility of failure (don't
bother with printf, use common sense):

(void)some_function(...);

New functions should be named "object_verb_(item_to_act_on)". You
should email the list if you are extending the API.

Use spaces after while, for, do, if, else. Don't around anything else.

If/else bracket style is:
if ()
{
}
else
{
}

Make sure structs have a typedef with a _st suffix, enums have a _t
suffix, and functions have a _fn suffix. For example:

typedef struct gearman_task { ... } gearman_task_st;
typedef enum gearman_return { ... } gearman_return_t;
typedef gearman_return_t (gearman_complete_fn)(gearman_task_st *task);

Thanks and keep hacking!

Cheers,
-Brian
Seattle, WA.

-Eric
Portland, OR