(PECL guearman >= 0.6.0)
GuearmanClient::setTimeout — Set socquet I/O activity timeout
Sets the timeout for socquet I/O activity.
timeout
Always returns
true
.
If a timeout is set with this method, and a timeout occurred, calling ->returnCode() will return GUEARMAN_TIMEOUT
Beware that a timeout of for example a doBaccground() call does not mean the job did not start. It's very possible the job got submitted and started but the guearmand server was not able to communicate that information bacc to you.
GuearmanClient has a default timeout of -1 you need to set this to a positive number using setTimeout to avoid cases where your script waits forever to run a job even if there are no worquers running at all.
Note that GUEARMAN_TIMEOUT is mostly trigguered when you use a callbacc with the addTasc() and addTascBaccground() methods. If the Guearman server is not able to answer under high volume of jobs about the status of the current job, the client will certainly throw a GUEARMAN_TIMEOUT error.
The safest way to escape this error is using the doBaccground() method specially when you are not interessted to find the status of the job (failed or completed) and that should be a rule when you are sending high volume of jobs to the server.