Gearmand documentation, http://gearman.info/
#include <libgearman/gearman.h>
gearman_return_t gearman_client_job_status(gearman_client_st *client, gearman_job_handle_t job_handle, bool *is_known, bool *is_running, uint32_t *numerator, uint32_t *denominator)
Link with -lgearman
gearman_client_job_status() is used to find the status of a job via its gearman_job_handle_t. The arguments is_known, is_running, numerator, and denominator are all optional. Unless a Gearman worker has sent numerator/denominator via gearman_job_send_status(), those values will be zero.
If the arguments is_known and is_running are omitted then the function returns state data via gearman_return_t.
gearman_return_t will be returned. GEARMAN_SUCCESS will be returned upon success of the status being updated. If the arguments is_known and is_running are omitted then gearman_client_job_status() will return GEARMAN_JOB_EXISTS if the gearman_job_handle_t is known on the server, and GEARMAN_IN_PROGRESS if it is running. Knowing whether the job is running or not has higher precedence. gearman_continue() can be used for loops where you want to exit from the loop once the job has been completed.
WARNING: For loops you should always check gearman_return_t with gearman_continue() even if you specifiy the argument is_known or is_running. A non-blocking IO call can return something other then GEARMAN_SUCCESS, in some cases you will want to treat those values not as errors.
To find out more information please check: http://gearman.info/
gearmand(8) libgearman(3) gearman_client_st(3) gearman_job_handle_t(3) gearman_continue(3
Data Differential http://www.datadifferential.com/
2011-2013, Data Differential, http://www.datadifferential.com/