Como criar um daemon com uma conexão MySQL DB [fechada]

Digamos que você estava escrevendo um daemon que atende a uma fila de trabalhos. Vários outros softwares gravam trabalhos para o daemon na fila. O daemon pesquisa a fila a cada poucos segundos para trabalhos pendentes. Suponha que a fila seja implementada como uma tabela em um banco de dados MySQL e que o daemon seja um loop simples:

obter todos os trabalhos devidos da filafaça os trabalhosdormir por N segundosGoto 1

O daemon deve sobreviver ao serviço interrompido do servidor de banco de dados MySQL e interrupção nas conexões com o banco de dados.

Você projetaria o daemon para conectar-se ao servidor DB uma vez por ciclo? ou seja, conectar antes de 1. e desconectar entre 2 e 3?

Ou você gostaria que o daemon mantivesse uma conexão aberta? Nesse caso, também é necessário: a) detectar quando o servidor ou a conexão não está funcionando; b) desconectar e reconectar; e c) fazê-lo sem acumular conexões de banco de dados, descritores de conexão de falha ou outros recursos mortos.

Se você tem uma preferência, por quê?

Prós e contras?

Fatores que entram no projeto?

Alguma outra abordagem?

A resposta aqui:conexão mysql do daemon escrita em php não diz por que é melhor manter a conexão aberta. Eu li em outro lugar que a sobrecarga por conexão no MySQL é muito leve. Portanto, não é óbvio por que consumir permanentemente uma conexão de servidor é melhor do que conectar / desconectar a cada poucos segundos.

No meu caso, o daemon é escrito em PHP.

questionAnswers(3)

yourAnswerToTheQuestion