A gearman_task_st represents a task. Work that is sent by a client to a gearman server is seen as a task (a worker receives a task in the form of a job.

Tasks, i.e. gearman_task_st are created by calling either gearman_execute(), gearman_client_add_task(), or gearman_client_add_task_background().

gearman_client_add_task_status() can also create gearman_task_st, these tasks will be used to
monitor a previously created gearman_task_st.

gearman_task_free() is used to free a task. This only needs to be
done if a task was created with a preallocated structure or if you want to clean up the memory of a specific task.

gearman_task_set_context() sets the given context of the gearman_task_st. The context can be used to pass information to a gearman_task_st.

gearman_task_context() returns the context that was used in the creation of the gearman_task_st (or that was set with gearman_task_set_context().

gearman_task_data() returns the current data that has been returned to the task. gearman_task_data_size() will give you the size of the value. gearman_task_take_data() is the same as gearman_task_data() but the value that is returned must be freed by the client (free(3)). gearman_task_recv_data() can be used with pre-allocated buffers.

gearman_task_is_known(), gearman_task_is_running(), gearman_task_numerator(), and gearman_task_denominator(), return values related to the last status update that was made to the gearman_task_st. They do not cause the gearman_task_st to update itself.

gearman_task_error() return the last error message that the
gearman_task_st encountered. gearman_task_return()
return the last gearman_return_t stored. A value of
GEARMAN_UNKNOWN_STATE means that the task has not been submitted to
server yet, or that no function was available if the job has been submitted.