# Client callbacks (gearman_actions_t)

## SYNOPSIS

#include <libgearman/gearman.h>

type gearman_actions_t

type gearman_workload_fn

type gearman_created_fn

type gearman_data_fn

type gearman_warning_fn

type gearman_universal_status_fn

type gearman_exception_fn

type gearman_fail_fn

type gearman_complete_fn

void gearman_client_set_workload_fn(gearman_client_st *client, gearman_workload_fn *function)

void gearman_client_set_created_fn(gearman_client_st *client, gearman_created_fn *function)

void gearman_client_set_data_fn(gearman_client_st *client, gearman_data_fn *function)

void gearman_client_set_warning_fn(gearman_client_st *client, gearman_warning_fn *function)

void gearman_client_set_status_fn(gearman_client_st *client, gearman_universal_status_fn *function)

void gearman_client_set_complete_fn(gearman_client_st *client, gearman_complete_fn *function)

void gearman_client_set_exception_fn(gearman_client_st *client, gearman_exception_fn *function)

void gearman_client_set_fail_fn(gearman_client_st *client, gearman_fail_fn *function)

void gearman_client_clear_fn(gearman_client_st *client)

const char *gearman_client_do_job_handle(gearman_client_st *client)

Link to -lgearman

## DESCRIPTION

Callbacks for client execution task states.

`gearman_client_set_data_fn()` sets the callback function that will be called if server is to make a request to the client to provide more data.

`gearman_client_do_job_handle()` gest the job handle for the running task. This should be used between repeated `gearman_client_do()` (and related) calls to get information.

`gearman_client_clear_fn()` can be called to remove all existing `gearman_actions_t` that have been set.

`gearman_client_set_created_fn()`, `gearman_client_set_data_fn()`, `gearman_client_set_warning_fn()`, `gearman_client_set_status_fn()`, `gearman_client_set_complete_fn()`, `gearman_client_set_exception_fn()`, and `gearman_client_set_fail_fn()`, set callback functions for the different states of execution for a client request. Each request, ie a creation of `gearman_task_st`, keeps a copy of callbacks when it is created.

`gearman_client_set_exception_fn()` will only be called if exceptions are enabled on the server. You can do this by calling `gearman_client_set_server_option()`.

An example of this:

    const char *EXCEPTIONS="exceptions";
    gearman_client_set_server_option(client, EXCEPTIONS, strlen(EXCEPTIONS));

## RETURN VALUE

None

See also

gearmand(8) libgearman(3) gearman_client_error(3) or gearman_worker_error(3)