Error Codes (gearman_return_t)¶
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
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()
orgearman_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()
orgearman_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()
orgearman_worker_error()
were not settable. This can also be returned ifGEARMAN_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. Seegearman_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 agearman_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 agearman_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
, orGEARMAN_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_FATAL¶
-
type GEARMAN_FAIL¶
The function failed to complete the job.
GEARMAN_FATAL
is the deprecated name forGEARMAN_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 sentGEARMAN_SUCCESS
, butgearman_worker_work()
will exit withGEARMAN_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.
-
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()