libgearman
Brian Aker
brian at tangent.org
Wed Apr 9 01:52:24 UTC 2008
Hi!
So I have rolled out the first prototype for a C client version of the
Client side work for Gearman:
http://hg.tangent.org/gearmandc/
I won't be rolling out releases for a little while, I will just be
updating the mercurial repository.
Here is an example:
gearman_return rc;
gearman_st *param= (gearman_st *)object;
gearman_result_st *result;
gearman_job_st *job;
char *value= "submit_job_test";
size_t value_length= strlen("submit_job_test");
result= gearman_result_create(param, NULL);
job= gearman_job_create(param, NULL);
assert(result);
assert(job);
gearman_job_set_function(job, "echo");
gearman_job_set_value(job, value, value_length);
rc= gearman_job_submit(job);
assert(rc == GEARMAN_SUCCESS);
rc= gearman_job_result(job, result);
assert(rc == GEARMAN_SUCCESS);
assert(result->action == GEARMAN_WORK_COMPLETE);
assert(gearman_result_length(result) == value_length);
assert(memcmp(gearman_result_value(result), value, value_length) ==
0);
In this case I had a worker called "echo" running. There should be
enough of an API to build a fully functional client currently.
There is also support for clustering based on function built into the
library (the library pulls heavily off of libmemcached).
Getting the worker protocol finished is next on the list. I welcome
feedback! I've got a couple of users ready to start using it, so I am
hoping that this will evolve quickly.
Cheers,
-Brian
--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/ <-- Me
http://tangent.org/ <-- Software
_______________________________________________________
You can't grep a dead tree.
More information about the Gearman
mailing list