If you are getting
Error 26 GEARMAN_COULD_NOT_CONNECT (integer)
and you are running SELinux then you need to set
setsetbool -P http_can_network_connect = 1
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
Return values. Always check GearmanClient::error() or GearmanWorker() for a string error, as it may contain more details:
GEARMAN_SUCCESS
(integer)
GEARMAN_IO_WAIT
(integer)
GEARMAN_ERRNO
(integer)
GEARMAN_NO_ACTIVE_FDS
(integer)
GEARMAN_UNEXPECTED_PACKET
(integer)
GEARMAN_GETADDRINFO
(integer)
GEARMAN_NO_SERVERS
(integer)
GEARMAN_LOST_CONNECTION
(integer)
GEARMAN_MEMORY_ALLOCATION_FAILURE
(integer)
GEARMAN_SERVER_ERROR
(integer)
GEARMAN_WORK_DATA
(integer)
GEARMAN_WORK_WARNING
(integer)
GEARMAN_WORK_DATA
, but
should be treated as a warning instead of normal response data.
GEARMAN_WORK_STATUS
(integer)
GEARMAN_WORK_EXCEPTION
(integer)
GEARMAN_WORK_FAIL
(integer)
GEARMAN_COULD_NOT_CONNECT
(integer)
GEARMAN_INVALID_FUNCTION_NAME
(integer)
GEARMAN_INVALID_WORKER_FUNCTION
(integer)
GEARMAN_NO_REGISTERED_FUNCTIONS
(integer)
GEARMAN_NO_JOBS
(integer)
GEARMAN_ECHO_DATA_CORRUPTION
(integer)
GEARMAN_NEED_WORKLOAD_FN
(integer)
GEARMAN_PAUSE
(integer)
GEARMAN_UNKNOWN_STATE
(integer)
GEARMAN_SEND_BUFFER_TOO_SMALL
(integer)
GEARMAN_TIMEOUT
(integer)
GearmanClient options:
GEARMAN_CLIENT_GENERATE_UNIQUE
(integer)
GEARMAN_CLIENT_NON_BLOCKING
(integer)
GEARMAN_CLIENT_UNBUFFERED_RESULT
(integer)
GEARMAN_CLIENT_FREE_TASKS
(integer)
GearmanWorker options:
GEARMAN_WORKER_NON_BLOCKING
(integer)
GEARMAN_WORKER_GRAB_UNIQ
(integer)
Base Gearman configuration:
GEARMAN_DEFAULT_TCP_HOST
(string)
GEARMAN_DEFAULT_TCP_PORT
(integer)
GEARMAN_DEFAULT_SOCKET_TIMEOUT
(integer)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE
(integer)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE
(integer)
GEARMAN_MAX_ERROR_SIZE
(integer)
GEARMAN_PACKET_HEADER_SIZE
(integer)
GEARMAN_JOB_HANDLE_SIZE
(integer)
GEARMAN_OPTION_SIZE
(integer)
GEARMAN_UNIQUE_SIZE
(integer)
GEARMAN_MAX_COMMAND_ARGS
(integer)
GEARMAN_ARGS_BUFFER_SIZE
(integer)
GEARMAN_SEND_BUFFER_SIZE
(integer)
GEARMAN_RECV_BUFFER_SIZE
(integer)
GEARMAN_WORKER_WAIT_TIMEOUT
(integer)
If you are getting
Error 26 GEARMAN_COULD_NOT_CONNECT (integer)
and you are running SELinux then you need to set
setsetbool -P http_can_network_connect = 1
retrunCodes is missed from No.33 .
I think , Correct retrunCodes are this.
GEARMAN_SUCCESS = 0
GEARMAN_IO_WAIT = 1
GEARMAN_SHUTDOWN = 2
GEARMAN_SHUTDOWN_GRACEFUL = 3
GEARMAN_ERRNO = 4
GEARMAN_EVENT = 5
GEARMAN_TOO_MANY_ARGS = 6
GEARMAN_NO_ACTIVE_FDS = 7
GEARMAN_INVALID_MAGIC = 8
GEARMAN_INVALID_COMMAND = 9
GEARMAN_INVALID_PACKET = 10
GEARMAN_UNEXPECTED_PACKET = 11
GEARMAN_GETADDRINFO = 12
GEARMAN_NO_SERVERS = 13
GEARMAN_LOST_CONNECTION = 14
GEARMAN_MEMORY_ALLOCATION_FAILURE = 15
GEARMAN_JOB_EXISTS = 16
GEARMAN_JOB_QUEUE_FULL = 17
GEARMAN_SERVER_ERROR = 18
GEARMAN_WORK_ERROR = 19
GEARMAN_WORK_DATA = 20
GEARMAN_WORK_WARNING = 21
GEARMAN_WORK_STATUS = 22
GEARMAN_WORK_EXCEPTION = 23
GEARMAN_WORK_FAIL = 24
GEARMAN_NOT_CONNECTED = 25
GEARMAN_COULD_NOT_CONNECT = 26
GEARMAN_SEND_IN_PROGRESS = 27
GEARMAN_RECV_IN_PROGRESS = 28
GEARMAN_NOT_FLUSHING = 29
GEARMAN_DATA_TOO_LARGE = 30
GEARMAN_INVALID_FUNCTION_NAME = 31
GEARMAN_INVALID_WORKER_FUNCTION = 32
GEARMAN_NO_REGISTERED_FUNCTIONS = 34
GEARMAN_NO_JOBS = 35
GEARMAN_ECHO_DATA_CORRUPTION = 36
GEARMAN_NEED_WORKLOAD_FN = 37
GEARMAN_PAUSE = 38
GEARMAN_UNKNOWN_STATE = 39
GEARMAN_PTHREAD = 40
GEARMAN_PIPE_EOF = 41
GEARMAN_QUEUE_ERROR = 42
GEARMAN_FLUSH_DATA = 43
GEARMAN_SEND_BUFFER_TOO_SMALL = 44
GEARMAN_IGNORE_PACKET = 45
GEARMAN_UNKNOWN_OPTION = 46
GEARMAN_MAX_RETURN = 52
an update (gearman 0.35):
GEARMAN_NO_REGISTERED_FUNCTION = 33
GEARMAN_NO_REGISTERED_FUNCTIONS = 34
GEARMAN_NO_JOBS = 35
GEARMAN_ECHO_DATA_CORRUPTION = 36
GEARMAN_NEED_WORKLOAD_FN = 37
GEARMAN_PAUSE = 38
GEARMAN_UNKNOWN_STATE = 39
GEARMAN_PTHREAD = 40
GEARMAN_PIPE_EOF = 41
GEARMAN_QUEUE_ERROR = 42
GEARMAN_FLUSH_DATA = 43
GEARMAN_SEND_BUFFER_TOO_SMALL = 44
GEARMAN_IGNORE_PACKET = 45
GEARMAN_UNKNOWN_OPTION = 46
GEARMAN_TIMEOUT = 47
GEARMAN_ARGUMENT_TOO_LARGE = 48
GEARMAN_MAX_RETURN = 49
I looked everywhere for for a dump of the values of each of the gearman constants. I ended up in the gearman source.
You'll find this useful if you ever just echo the return code.
GEARMAN_SUCCESS = 0
GEARMAN_IO_WAIT = 1
GEARMAN_SHUTDOWN = 2
GEARMAN_SHUTDOWN_GRACEFUL = 3
GEARMAN_ERRNO = 4
GEARMAN_EVENT = 5
GEARMAN_TOO_MANY_ARGS = 6
GEARMAN_NO_ACTIVE_FDS = 7
GEARMAN_INVALID_MAGIC = 8
GEARMAN_INVALID_COMMAND = 9
GEARMAN_INVALID_PACKET = 10
GEARMAN_UNEXPECTED_PACKET = 11
GEARMAN_GETADDRINFO = 12
GEARMAN_NO_SERVERS = 13
GEARMAN_LOST_CONNECTION = 14
GEARMAN_MEMORY_ALLOCATION_FAILURE = 15
GEARMAN_JOB_EXISTS = 16
GEARMAN_JOB_QUEUE_FULL = 17
GEARMAN_SERVER_ERROR = 18
GEARMAN_WORK_ERROR = 19
GEARMAN_WORK_DATA = 20
GEARMAN_WORK_WARNING = 21
GEARMAN_WORK_STATUS = 22
GEARMAN_WORK_EXCEPTION = 23
GEARMAN_WORK_FAIL = 24
GEARMAN_NOT_CONNECTED = 25
GEARMAN_COULD_NOT_CONNECT = 26
GEARMAN_SEND_IN_PROGRESS = 27
GEARMAN_RECV_IN_PROGRESS = 28
GEARMAN_NOT_FLUSHING = 29
GEARMAN_DATA_TOO_LARGE = 30
GEARMAN_INVALID_FUNCTION_NAME = 31
GEARMAN_INVALID_WORKER_FUNCTION = 32
GEARMAN_NO_REGISTERED_FUNCTIONS = 33
GEARMAN_NO_JOBS = 34
GEARMAN_ECHO_DATA_CORRUPTION = 35
GEARMAN_NEED_WORKLOAD_FN = 36
GEARMAN_PAUSE = 37
GEARMAN_UNKNOWN_STATE = 38
GEARMAN_PTHREAD = 39
GEARMAN_PIPE_EOF = 40
GEARMAN_QUEUE_ERROR = 41
GEARMAN_FLUSH_DATA = 42
GEARMAN_SEND_BUFFER_TOO_SMALL = 43
GEARMAN_IGNORE_PACKET = 44
GEARMAN_UNKNOWN_OPTION = 45
GEARMAN_MAX_RETURN = 46