GEARMAN_STRERROR(3) | Gearmand | GEARMAN_STRERROR(3) |
NAME¶
gearman_strerror - Gearmand Documentation, http://gearman.info/
SYNOPSIS¶
#include <libgearman/gearman.h>
Compile and link with -lgearman
DESCRIPTION¶
gearman_return_t is used as a return/error type for all calls using gearman_client_st and 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() 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() or 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() or 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() or gearman_worker_error() were not settable. This can also be returned if 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 callback was specified. See 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()
- type GEARMAN_IN_PROGRESS
- gearman_client_job_status() has been called for a gearman_job_handle_t and the Job is currently being run by a worker.
- type GEARMAN_JOB_EXISTS
- gearman_client_job_status() has been called for a 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 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()
- type GEARMAN_WORK_WARNING
- Worker has issued a warning to the client via gearman_job_send_warning()
- type GEARMAN_WORK_STATUS
- Status has been updated by the worker via gearman_job_send_status()
- type GEARMAN_WORK_EXCEPTION
- Worker has sent an exception the client via 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()
- 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() may, and can only, return the following gearman_return_t values.
- type GEARMAN_SUCCESS
- The function successfully completed the job.
- 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() will exit with GEARMAN_SHUTDOWN.
TASK ONLY¶
- type GEARMAN_NOT_FLUSHING
- gearman_task_send_workload() failed, it was not in the correct state.
- type GEARMAN_DATA_TOO_LARGE
- 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.
DEPRECATED¶
SEE ALSO¶
gearmand(8) libgearman(3) gearman_client_error() or gearman_worker_error()
AUTHOR¶
Data Differential http://www.datadifferential.com/
COPYRIGHT¶
2011-2023, Data Differential, http://www.datadifferential.com/
March 11, 2023 | 1.1.20+ds |