GEARMAN_RETURN_T(3)

NAME
gearman_return_t - Gearmand Documentation, http://gearman.info/

SYNOPSIS

#include <libgearman/gearman.h>

    type gearman_return_t

    const char *gearman_strerror(gearman_return_t rc)

    bool gearman_success(gearman_return_t rc)

    bool gearman_failed(gearman_return_t rc)

    bool gearman_continue(gearman_return_t rc)

Compile and link with -lgearman

DESCRIPTION

gearman_return_t is used as a return/error type for all calls using gearman_client_st <#c.gearman_client_st> and gearman_worker_st <#c.gearman_worker_st>. GEARMAN_SUCCESS is returned upon success, otherwise an error is returned. gearman_failed() can be used to see if the return value is a failing value. You can print a text version of the error message with gearman_strerror().

gearman_success() return true if GEARMAN_SUCCESS or if GEARMAN_NO_PENDING_TASKS tests true.

gearman_failed() return true if any value other then GEARMAN_SUCCESS was provided.

gearman_continue() returns true if any error related to non-blocking IO occurred. This should be used for testing loops.

  Possible values of gearman_return_t:

    type GEARMAN_SUCCESS
        Success

    type GEARMAN_NO_PENDING_TASKS
        gearman_client_run_tasks() <#c.gearman_client_run_tasks> was called and it has completed all tasks assigned to the client.

    type GEARMAN_IO_WAIT
        Blocking IO was found. gearman_continue() can be used to test for this.

    type GEARMAN_ERRNO
        System error occurred. Use either gearman_client_errno() <#c.gearman_client_errno> or gearman_worker_errno() <#c.gearman_worker_errno>

    type GEARMAN_NO_ACTIVE_FDS
        No active connections were available. gearman_continue() can be used to test for this.

    type GEARMAN_GETADDRINFO
        Name resolution failed for a host.

    type GEARMAN_NO_SERVERS
        No servers have been provided for the client/worker.

    type GEARMAN_LOST_CONNECTION
        Connection was lost to the given server.

    type GEARMAN_MEMORY_ALLOCATION_FAILURE
        Memory allocation failed.

    type GEARMAN_SERVER_ERROR
        An error occurred on the server.

    type GEARMAN_NOT_CONNECTED
        Client/Worker is not currently connected to the server.

    type GEARMAN_COULD_NOT_CONNECT
        Server name was valid, but a connection could not be made.

    type GEARMAN_ECHO_DATA_CORRUPTION
        Either gearman_client_echo() <#c.gearman_client_echo> or gearman_worker_echo() <#c.gearman_worker_echo> echo was unsuccessful because the data was returned from gearmand corrupted.

    type GEARMAN_UNKNOWN_STATE
        The gearman_return_t was never set.

    type GEARMAN_FLUSH_DATA
        Internal state, should never be seen by either client or worker.

    type GEARMAN_SEND_BUFFER_TOO_SMALL
        Send buffer was too small.

    type GEARMAN_TIMEOUT
        A timeout occurred when making a request to the server.

    type GEARMAN_ARGUMENT_TOO_LARGE
        Argument was too large for the current buffer.

    type GEARMAN_INVALID_ARGUMENT
        One of the arguments to the given API call was invalid. EINVAL will be set if gearman_client_error() <#c.gearman_client_error> or gearman_worker_error() <#c.gearman_worker_error> were not settable. This can also be returned if GEARMAN_CLIENT_UNBUFFERED_RESULT <#c.GEARMAN_CLIENT_UNBUFFERED_RESULT> was set, but the client is not handling the data correctly.

  CLIENT ONLY

    type GEARMAN_NEED_WORKLOAD_FN
        A client was asked for work, but no gearman_workload_fn <#c.gearman_workload_fn> callback was specified. See gearman_client_set_workload_fn() <#c.gearman_client_set_workload_fn>

    type GEARMAN_WORK_FAIL
        A task has failed, and the worker has exited with an error or it called gearman_job_send_fail() <#c.gearman_job_send_fail>

    type GEARMAN_IN_PROGRESS
        gearman_client_job_status() <#c.gearman_client_job_status> has been called for a gearman_job_handle_t <#c.gearman_job_handle_t> and the Job is currently being run by a worker.

    type GEARMAN_JOB_EXISTS
        gearman_client_job_status() <#c.gearman_client_job_status> has been called for a gearman_job_handle_t <#c.gearman_job_handle_t> and the Job is currently known by a server, but is not being run by a worker.

  WORKER ONLY

    type GEARMAN_INVALID_FUNCTION_NAME
        A worker was sent a request for a job that it did not have a valid function for.

    type GEARMAN_INVALID_WORKER_FUNCTION
        No callback was provided by the worker for a given function.

    type GEARMAN_NO_REGISTERED_FUNCTION
        A request for removing a given function from a worker was invalid since that function did not exist.

    type GEARMAN_NO_REGISTERED_FUNCTIONS
        The worker has not registered any functions.

    type GEARMAN_NO_JOBS
        No jobs were found for the worker. This error code is only returned if the worker has just made a request for jobs.

  WORKER TO CLIENT

Client which have registered a custom gearman_actions_t <#c.gearman_actions_t> may use these value as return values to the calling client.

    type GEARMAN_WORK_DATA
        Worker has sent a chunked piece of data to the client via gearman_job_send_data() <#c.gearman_job_send_data>

    type GEARMAN_WORK_WARNING
        Worker has issued a warning to the client via gearman_job_send_warning() <#c.gearman_job_send_warning>

    type GEARMAN_WORK_STATUS
        Status has been updated by the worker via gearman_job_send_status() <#c.gearman_job_send_status>

    type GEARMAN_WORK_EXCEPTION
        Worker has sent an exception the client via gearman_job_send_exception() <#c.gearman_job_send_exception>

    type GEARMAN_WORK_FAIL
        A task has failed, and the worker has exited with an error or it called gearman_job_send_fail() <#c.gearman_job_send_fail>

    type GEARMAN_WORK_ERROR
        A task has had an error and will be retried.

    type GEARMAN_PAUSE
        Used only in custom application for client return based on GEARMAN_WORK_DATA, GEARMAN_WORK_WARNING, GEARMAN_WORK_EXCEPTION, GEARMAN_WORK_FAIL, or GEARMAN_WORK_STATUS. gearman_continue() can be used to check for this value.

  WORKER TO CLIENT

Any function defined by gearman_worker_define_function() <#c.gearman_worker_define_function> may, and can only, return the following gearman_return_t values.

    type GEARMAN_SUCCESS
        The function successfully completed the job.

    type GEARMAN_FATAL

    type GEARMAN_FAIL
        The function failed to complete the job. GEARMAN_FATAL is the deprecated name for GEARMAN_FAIL

    type GEARMAN_ERROR
        A task has had an error and will be retried.

    type GEARMAN_SHUTDOWN
        GEARMAN_SHUTDOWN is a special case. If it is returned the client will be sent GEARMAN_SUCCESS, but gearman_worker_work() <#c.gearman_worker_work> will exit with GEARMAN_SHUTDOWN.

  TASK ONLY

    type GEARMAN_NOT_FLUSHING
        gearman_task_send_workload() <#c.gearman_task_send_workload> failed, it was not in the correct state.

    type GEARMAN_DATA_TOO_LARGE
        gearman_task_send_workload() <#c.gearman_task_send_workload> failed, the data was too large to be sent.

    type GEARMAN_UNKNOWN_OPTION
        Default state of task return value.

  PROTOCOL

If any of these errors occurred the connection will be dropped/reset.

    type GEARMAN_INVALID_MAGIC

    type GEARMAN_INVALID_COMMAND

    type GEARMAN_INVALID_PACKET

    type GEARMAN_UNEXPECTED_PACKET

    type GEARMAN_TOO_MANY_ARGS

  DEPRECATED

    type GEARMAN_IGNORE_PACKET

    type GEARMAN_MAX_RETURN

SEE ALSO

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

Author
Data Differential http://www.datadifferential.com/

Copyright
2011-2014, Data Differential, http://www.datadifferential.com/