123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- # 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
|