# Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Valeurs de retour. Cherchez toujours une chaîne de caractères d'erreur dans GearmanClient::error() ou GearmanWorker() car davantage de détails peuvent être disponibles :

`GEARMAN_SUCCESS` (entier)
  Quelque soit l'action entreprise, elle a été couronnée de succès.
`GEARMAN_IO_WAIT` (entier)
  En mode non-bloquant, un événement qui aurait été bloquant a été atteint.
`GEARMAN_ERRNO` (entier)
  Une erreur système. Cherchez dans GearmanClient::errno() ou GearmanWorker::errno() le code d'erreur système qui a été retourné.
`GEARMAN_NO_ACTIVE_FDS` (entier)
  GearmanClient::wait() ou GearmanWorker() a été appelé sans connexion.
`GEARMAN_UNEXPECTED_PACKET` (entier)
  Indique que quelque chose de grave est survenu dans gearmand. S'applique seulement à GearmanWorker.
`GEARMAN_GETADDRINFO` (entier)
  La résolution DNS a échoué (hôte ou port invalide, etc).
`GEARMAN_NO_SERVERS` (entier)
  Aucun appel à GearmanClient::addServer() n'a été fait avant de soumettre une tâche.
`GEARMAN_LOST_CONNECTION` (entier)
  Perte de connexion pendant une requête.
`GEARMAN_MEMORY_ALLOCATION_FAILURE` (entier)
  L'allocation mémoire a échoué (plus de mémoire disponible).
`GEARMAN_SERVER_ERROR` (entier)
  Quelque chose s'est mal passé avec le serveur Gearman qui n'a pas pu traiter la requête comme il se doit.
`GEARMAN_WORK_DATA` (entier)
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode() lors de l'utilisation de GearmanClient::do(). Envoyé pour mettre à jour le cliet avec les données de la tâche courante. Un agent l'utilise quand il a besoin d'envoyer des mises à jour, d'envoyer des résultats partiels ou pour évacuer les données lors de tâches longues.
`GEARMAN_WORK_WARNING` (entier)
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode() lors de l'utilisation de GearmanClient::do(). Met à jour le client avec un avertissement. Le comportement est le même qu'avec `GEARMAN_WORK_DATA`, sauf qu'il devrait être traité comme un avertissement plutôt que comme les données d'une réponse normale.
`GEARMAN_WORK_STATUS` (entier)
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode() lors de l'utilisation de GearmanClient::do(). Envoyé pour mettre à jour le statut d'une tâche longue. Utilisez GearmanClient::doStatus() pour obtenir le pourcentage de complétion de la tâche.
`GEARMAN_WORK_EXCEPTION` (entier)
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode() lors de l'utilisation de GearmanClient::do(). Indique qu'une tâche a échoué en levant une exception donnée.
`GEARMAN_WORK_FAIL` (entier)
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode() lors de l'utilisation de GearmanClient::do(). Indique qu'une tâche a échoué.
`GEARMAN_COULD_NOT_CONNECT` (entier)
  Echec de la connexion aux serveurs.
`GEARMAN_INVALID_FUNCTION_NAME` (entier)
  Tentative de référencement d'une fonction avec un nom NULL ou utilisation de l'interface de rappel sans spécifier les rappels.
`GEARMAN_INVALID_WORKER_FUNCTION` (entier)
  Tentative de référencement d'une fonction avec une fonction de rappel NULL.
`GEARMAN_NO_REGISTERED_FUNCTIONS` (entier)
  Quand un agent reçoit une tâche pour une fonction qu'il n'a pas référencée.
`GEARMAN_NO_JOBS` (entier)
  Pour un agent non-bloquant, quand GearmanWorker::work() n'a aucune tâche active.
`GEARMAN_ECHO_DATA_CORRUPTION` (entier)
  Après GearmanClient::echo() ou GearmanWorker::echo(), les données retournées ne correspondent pas aux données envoyées.
`GEARMAN_NEED_WORKLOAD_FN` (entier)
  Quand le client a fait le choix de diffuser la charge de travail sur une tâche, mais n'a pas spécifié de fonction de retour de la charge de travail.
`GEARMAN_PAUSE` (entier)
  Pour l'interface de tâche cliente non-bloquante, peut être retourné à partir du retour de la tâche pour "mettre en pause" l'appel et le retour de GearmanClient::runTasks(). Appelez de nouveau GearmanClient::runTasks() pour continuer.
`GEARMAN_UNKNOWN_STATE` (entier)
  Erreur d'état client/agent interne.
`GEARMAN_SEND_BUFFER_TOO_SMALL` (entier)
  Erreur interne : a essayé d'évacuer davantage de données que possible dans un paquet atomique, à cause de tailles de tampons codées en dur.
`GEARMAN_TIMEOUT` (entier)
  La limite de temps de l'agent/du client a été atteinte.

Les options GearmanClient :

`GEARMAN_CLIENT_GENERATE_UNIQUE` (integer)
  Génère un identifiant unique (UUID) pour chaque tache.
`GEARMAN_CLIENT_NON_BLOCKING` (entier)
  Lance le client en mode non-bloquant.
`GEARMAN_CLIENT_UNBUFFERED_RESULT` (entier)
  Permet au client de lire les données par paquets plutôt que ce soit la bibliothèque qui mette en tampon les données et les transmette.
`GEARMAN_CLIENT_FREE_TASKS` (entier)
  Libère automatiquement les objets des tâches une fois celles-ci effectées. C'est le paramétrage par défaut de cette extension pour éviter les fuites de mémoire.

Les options GearmanWorker :

`GEARMAN_WORKER_NON_BLOCKING` (entier)
  Lance l'agent en mode non-bloquant.
`GEARMAN_WORKER_GRAB_UNIQ` (entier)
  Retourne l'identifiant unique alloué au client en plus du descripteur de tâche.

Configuration de base de Gearman :

`GEARMAN_DEFAULT_TCP_HOST` (chaîne de caractères)
`GEARMAN_DEFAULT_TCP_PORT` (entier)
`GEARMAN_DEFAULT_SOCKET_TIMEOUT` (entier)
`GEARMAN_DEFAULT_SOCKET_SEND_SIZE` (entier)
`GEARMAN_DEFAULT_SOCKET_RECV_SIZE` (entier)
`GEARMAN_MAX_ERROR_SIZE` (entier)
`GEARMAN_PACKET_HEADER_SIZE` (entier)
`GEARMAN_JOB_HANDLE_SIZE` (entier)
`GEARMAN_OPTION_SIZE` (entier)
`GEARMAN_UNIQUE_SIZE` (entier)
`GEARMAN_MAX_COMMAND_ARGS` (entier)
`GEARMAN_ARGS_BUFFER_SIZE` (entier)
`GEARMAN_SEND_BUFFER_SIZE` (entier)
`GEARMAN_RECV_BUFFER_SIZE` (entier)
`GEARMAN_WORKER_WAIT_TIMEOUT` (entier)