&reftitle.constants; &extension.constants;

Return values. Always check `GearmanClient::error` or `GearmanWorker` for a string error, as it may contain more details:

`GEARMAN_SUCCESS` (`int`)

- Whatever action was taken was successful.

`GEARMAN_IO_WAIT` (`int`)

- When in non-blocking mode, an event is hit that would have blocked.

`GEARMAN_ERRNO` (`int`)

- A system error. Check `GearmanClient::errno` or `GearmanWorker::errno` for the system error code that was returned.

`GEARMAN_NO_ACTIVE_FDS` (`int`)

- `GearmanClient::wait` or `GearmanWorker` was called with no connections.

`GEARMAN_UNEXPECTED_PACKET` (`int`)

- Indicates something going very wrong in gearmand. Applies only to `GearmanWorker`.

`GEARMAN_GETADDRINFO` (`int`)

- DNS resolution failed (invalid host, port, etc).

`GEARMAN_NO_SERVERS` (`int`)

- Did not call `GearmanClient::addServer` before submitting jobs or tasks.

`GEARMAN_LOST_CONNECTION` (`int`)

- Lost a connection during a request.

`GEARMAN_MEMORY_ALLOCATION_FAILURE` (`int`)

- Memory allocation failed (ran out of memory).

`GEARMAN_SERVER_ERROR` (`int`)

- Something went wrong in the Gearman server and it could not handle the request gracefully.

`GEARMAN_WORK_DATA` (`int`)

- Notice return code obtained with `GearmanClient::returnCode` when using `GearmanClient::do`. Sent to update the client with data from a running job. A worker uses this when it needs to send updates, send partial results, or flush data during long running jobs.

`GEARMAN_WORK_WARNING` (`int`)

- Notice return code obtained with `GearmanClient::returnCode` when using `GearmanClient::do`. Updates the client with a warning. The behavior is just like `GEARMAN_WORK_DATA`, but should be treated as a warning instead of normal response data.

`GEARMAN_WORK_STATUS` (`int`)

- Notice return code obtained with `GearmanClient::returnCode` when using `GearmanClient::do`. Sent to update the status of a long running job. Use `GearmanClient::doStatus` to obtain the percentage complete of the task.

`GEARMAN_WORK_EXCEPTION` (`int`)

- Notice return code obtained with `GearmanClient::returnCode` when using `GearmanClient::do`. Indicates that a job failed with a given exception.

`GEARMAN_WORK_FAIL` (`int`)

- Notice return code obtained with `GearmanClient::returnCode` when using `GearmanClient::do`. Indicates that the job failed.

`GEARMAN_COULD_NOT_CONNECT` (`int`)

- Failed to connect to servers.

`GEARMAN_INVALID_FUNCTION_NAME` (`int`)

- Trying to register a function name of NULL or using the callback interface without specifying callbacks.

`GEARMAN_INVALID_WORKER_FUNCTION` (`int`)

- Trying to register a function with a NULL callback function.

`GEARMAN_NO_REGISTERED_FUNCTIONS` (`int`)

- When a worker gets a job for a function it did not register.

`GEARMAN_NO_JOBS` (`int`)

- For a non-blocking worker, when `GearmanWorker::work` does not have any active jobs.

`GEARMAN_ECHO_DATA_CORRUPTION` (`int`)

- After `GearmanClient::echo` or `GearmanWorker::echo` the data returned doesn't match the data sent.

`GEARMAN_NEED_WORKLOAD_FN` (`int`)

- When the client opted to stream the workload of a task, but did not specify a workload callback function.

`GEARMAN_PAUSE` (`int`)

- For the non-blocking client task interface, can be returned from the task callback to "pause" the call and return from `GearmanClient::runTasks`. Call `GearmanClient::runTasks` again to continue.

`GEARMAN_UNKNOWN_STATE` (`int`)

- Internal client/worker state error.

`GEARMAN_SEND_BUFFER_TOO_SMALL` (`int`)

- Internal error: trying to flush more data in one atomic chunk than is possible due to hard-coded buffer sizes.

`GEARMAN_TIMEOUT` (`int`)

- Hit the timeout limit set by the client/worker.

`GearmanClient` options:

`GEARMAN_CLIENT_GENERATE_UNIQUE` (`int`)

- Generate a unique id (UUID) for each task.

`GEARMAN_CLIENT_NON_BLOCKING` (`int`)

- Run the cient in a non-blocking mode.

`GEARMAN_CLIENT_UNBUFFERED_RESULT` (`int`)

- Allow the client to read data in chunks rather than have the library buffer the entire data result and pass that back.

`GEARMAN_CLIENT_FREE_TASKS` (`int`)

- Automatically free task objects once they are complete. This is the default setting in this extension to prevent memory leaks.

`GearmanWorker` options:

`GEARMAN_WORKER_NON_BLOCKING` (`int`)

- Run the worker in non-blocking mode.

`GEARMAN_WORKER_GRAB_UNIQ` (`int`)

- Return the client assigned unique ID in addition to the job handle.

Base Gearman configuration:

`GEARMAN_DEFAULT_TCP_HOST` (`string`)

`GEARMAN_DEFAULT_TCP_PORT` (`int`)

`GEARMAN_DEFAULT_SOCKET_TIMEOUT` (`int`)

`GEARMAN_DEFAULT_SOCKET_SEND_SIZE` (`int`)

`GEARMAN_DEFAULT_SOCKET_RECV_SIZE` (`int`)

`GEARMAN_MAX_ERROR_SIZE` (`int`)

`GEARMAN_PACKET_HEADER_SIZE` (`int`)

`GEARMAN_JOB_HANDLE_SIZE` (`int`)

`GEARMAN_OPTION_SIZE` (`int`)

`GEARMAN_UNIQUE_SIZE` (`int`)

`GEARMAN_MAX_COMMAND_ARGS` (`int`)

`GEARMAN_ARGS_BUFFER_SIZE` (`int`)

`GEARMAN_SEND_BUFFER_SIZE` (`int`)

`GEARMAN_RECV_BUFFER_SIZE` (`int`)

`GEARMAN_WORKER_WAIT_TIMEOUT` (`int`)