Retrieving the status of a job

SYNOPSIS

#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

DESCRIPTION

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.

RETURN VALUE

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 specify 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.

HOME

To find out more information please check: http://gearman.info/

See also

gearmand(8) libgearman(3) gearman_client_st(3) gearman_job_handle_t(3) gearman_continue(3