No Description http://gearman.org/

Monty Taylor d2c1aaa7b8 Merged in latest pandora-build. 15 years ago
benchmark 0d1d9401e0 White space cleanup 15 years ago
bin aa6b8df81a Added pid/daemon options to gearman client (and test). 15 years ago
config e3e9622317 Fix visibility for internals. 15 years ago
docs e3e9622317 Fix visibility for internals. 15 years ago
examples 4cb0a82a04 Migrated bin and examples. 15 years ago
gearmand 5ba49b2426 moving append into generic function 15 years ago
libgearman 3c6d92ce26 Various bug fixes. 15 years ago
libgearman-server ad41d80230 Merge eric. 15 years ago
m4 d2c1aaa7b8 Merged in latest pandora-build. 15 years ago
scripts df48529bed Took care of scripts and support. 15 years ago
support 8926463b8a Updates for rpm. Added version symbol. 15 years ago
tests 2a67ab9945 Fixed memory leaks in abandoned_worker test. 15 years ago
.bzrignore 3c6d92ce26 Various bug fixes. 15 years ago
AUTHORS 1d6e735c97 Cleaned up autoconf and added stricter build options (and fixed code so it builds with new options). Also added proper licensing headers to source files. 16 years ago
COPYING 51ef6b4881 Switched to BSD license, started cleaning up test suite. 16 years ago
ChangeLog ad41d80230 Merge eric. 15 years ago
Makefile.am e7ad03c3b3 Updated RPM. 15 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 ec608734cd Updated version information. 15 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