Erro na fila do Gearman: mysql_stmt_execute failed: Unknown prepared statement handler (1)
A solução para esse erro é relativamente simples e depende da instalação do pacote uuid.
Se você estiver executando o Gearman a partir de uma versão que você mesmo compilou (ou você mesmo empacotou), pode acontecer de ter o seguinte erro. É a mesma mensagem para Ubuntu, Debian, CentOS/RHELL e seus clones.
[ proc ] mysql_stmt_execute failed: Unknown prepared statement handler (1) given to mysqld_stmt_execute -> libgearman-server/plugins/queue/mysql/queue.cc:356 [ proc ] gearman_server_job_add gearman_server_run_command(QUEUE_ERROR) -> libgearman-server/server.cc:284
O mesmo é visível nos logs /var/log/gearmand/gearmand.log, o que faz com que as filas falhem com uma mensagem de erro como esta:
Warning: GearmanClient::doBackground(): _client_run_tasks(GEARMAN_SERVER_ERROR) queue_insert_error:QUEUE_ERROR -> libgearman/client.cc:1522 in /path/to/script.php on line xxx
A solução é relativamente simples: você provavelmente não tem o pacote uuid instalado. O pacote é necessário para gerar IDs únicos que o Gearman irá usar para atribuir para cada trabalho. Sem o pacote, os IDs não podem ser gerados. Se estiver executando um backend↳Back-end49 conteúdosIntegração front-end com backend: 7 decisões que evitam caos entre APIs, BFF e GraphQLDev (Back & Front) · abr 2026Como criar uma FAKE API REST para testes — JSONPlaceholderDev (Back & Front) · set 2025Construindo um aplicativo de bate-papo de IA simples com Spring AI e AngularDev (Back & Front) · jul 2025Ver tudo em Dev (Back & Front) → persistente do MySQL↳MySQL8 conteúdosMySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Banco de dados MYSQL no PHPStormDev (Back & Front) · jul 2019Criando um ambiente de desenvolvimento PHP mínimo com Docker – Parte 3Dev (Back & Front) · out 2019Ver tudo em Data → para o seu Gearman, as inserções irão falhar caso não haja o ID único por conta de violações primárias.
Portanto, instale-o:
$ apt-get install uuid $ yum install uuid
Dependendo do seu sistema operacional, use o apt ou o yum.
***
Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://mattiasgeniar.be/2013/02/20/gearman-queue-error-mysql_stmt_execute-failed-unknown-prepared-statement-handler-1/






