NAME¶
gearman_worker_define_function - Gearmand Documentation,
http://gearman.info/
SYNOPSIS¶
#include <libgearman/gearman.h>
- gearman_return_t
gearman_worker_define_function(gearman_worker_st *worker,
const char *function_name, const
size_t function_name_length, const
gearman_function_t function, const
uint32_t timeout, void *context)
Link with -lgearman
DESCRIPTION¶
gearman_worker_define_function() defines functions for a worker.
The interface is callback by design. When the server has a job for the worker,
gearman_function_fn is evoked with a
gearman_job_st representing
the job, and the context that was defined originally when the function was
defined.
Results are sent back to the client by invoking
gearman_job_send_data().
If the client specified an reducer function, then the output of the
gearman_function_fn will be sent to that function. You can split the
work out to the reducer function by sending data multiple times with
gearman_job_send_data().
If any errors are detected then the entire job is cancelled. The
gearman_aggregator_fn will be called when all mapped jobs have
completed. The result of this function will be what is returned to the client.
The callback function needs to return one of the following errors:
GEARMAN_SUCCESS
The function was successful.
GEARMAN_FAIL
An error has occurred, the job we not processed, and the worker cannot continue.
GEARMAN_ERROR
A transient error has occurred, like a network failure, and the job can be
restarted.
If a value other then the above are returned it is converted to a
GEARMAN_FAIL and
gearman_worker_work() returns
GEARMAN_INVALID_ARGUMENT.
gearman_job_send_complete() and
gearman_job_send_fail() cannot be
used with any functions created with
gearman_worker_define_function().
RETURN VALUE¶
gearman_return_t
HOME¶
To find out more information please check:
http://gearman.info/
SEE ALSO¶
gearmand(8) libgearman(3) gearman_strerror(3)
gearman_client_error gearman_client_execute_reduce
AUTHOR¶
Data Differential
http://www.datadifferential.com/
COPYRIGHT¶
2011-2013, Data Differential,
http://www.datadifferential.com/