Há aproximadamente 1 ano atrás o WordPress (WP) apresentou uma falha grave quando adicionado alguns plugins mas para entender melhor precisamos entender como o WP funciona.
Entendendo melhor o WordPress
O WP funciona em PHP e o PHP é um script que roda no servidor de páginas web, no nosso caso, chamado Apache.
O PHP é executado quando você pede uma página, ele termina e devolve um HTML referente ao endereço solicitado. O WP tem uma funcionalidade que é você poder agendar os posts ou outras tarefas, ou CRON em inglês. Com ela é possível você criar o post, colocar uma data futura e quando chegar a hora o WP publica automaticamente o post.
Mas espera um pouco, não dissemos que o PHP é executado quando pedimos uma página? Sim.
Então como podemos dizer que o post vai publicar a 1h da madrugada ? Oras, se ninguém acessar o servidor o PHP não será executado. Se o PHP não for executado, como o WP consegue publicar o post?
Ele faz da seguinte maneira:
Cada vez que você entra numa página qualquer do WP ele altera todos os posts que estão pré-agendados (fora outras tarefas pré agendadas) que tem data vencida, o que significa que se alguém entrar as 2h ele vai publicar aquele post das 1h como se fosse ainda 1h. Funciona? Sim, claro que funciona. O problema é quando o site tem muitos acessos. Pois a cada pessoa que entrar no site, o CRON será varrido novamente.
Ainda assim não é um problema se você tiver o WP puro, mas alguns plugins adicionam muitas coisas no cron e quando o CRON é varrido, além dos posts, outras funções pesadas eram iniciadas e alguns sites caiam. Para ajudar os nossos usuários, em vez de acionar o CRON a cada visita, criamos uma tarefa no servidor para iniciar o cron do WP de minuto em minuto.
Esta solução estava funcionando até ontem. Aparentemente os problemas com CRON foram resolvidos no WP, então acionamos novamente o padrão do WP em todos os nossos clientes. Se alguém tiver problema de lentidão com o site caindo devido ao cron, nos avise, e então voltaremos a solução antiga.
Até o momento o serviço de cron dos novos WP tem se mostrado eficiente, mas vale a pena manter ele sob observação !
