Se um usuário visitar um site e sua visita acionar um trabalho cron bastante intenso, a velocidade de carregamento da página será mais lenta, certo? Pelo que entendi, a página não espera o trabalho do cron ser executado antes do carregamento, mas, como o trabalho do cron estaria sendo executado em paralelo, ainda é possível que a página carregue mais devagar, pois o servidor está ocupado, certo?
8
Respostas:
Resposta curta - Não . Qualquer solicitação de página inicializa a fila agendada. É apenas uma solicitação de inicialização. A solicitação Wp-cron é uma solicitação independente.
No entanto - se o evento cron não funcionar muito bem (ele tem consultas de 1000 db, por exemplo, ou está solicitando um recurso realmente muito demorado para responder), ou ambos, ou reprogramando o evento cron para cada solicitação ... como qualquer outro outro pedido de http consumirá recursos, desempenho da CPU, memória, etc ... se consumir recursos suficientes, sua página ficará mais lenta.
fonte
A resposta curta é realmente sim , na maioria dos casos.
Em primeiro lugar, na maioria das configurações, a geração de um trabalho cron gera um atraso de 1 segundo no carregamento da página, porque isso é feito através de uma solicitação HTTP de loopback com um tempo limite de 1 segundo - consulte https://wordpress.org/support/topic/save -a-segundo-completo-em-cron-execução / .
Em segundo lugar, o trabalho gerado agora estará competindo com o carregamento da página pelo acesso ao banco de dados (além de outros recursos). Vários processos podem ler o banco de dados simultaneamente; no entanto, sempre que um processo está gravando no banco de dados, por padrão, ele é bloqueado para impedir o acesso simultâneo de gravação ou leitura por qualquer outro processo - consulte /programming/1005206/does-sqlite-lock-the-database -file-on-read # answer-1005218 . O impacto disso depende da complexidade das atualizações do banco de dados da tarefa cron e de quanto tempo o banco de dados está realmente bloqueado e pode ser insignificante. Obviamente, também seria um problema se um trabalho cron estivesse em execução quando uma página fosse solicitada, mas ter trabalhos cron gerados na garantia de carregamento da página eles afetarão pelo menos o carregamento da página.
Se o seu servidor / hospedagem permitir, é recomendável configurar um trabalho agendado agendado para ser executado a cada poucas horas, com o comando
e desative a geração do cron no carregamento da página com a seguinte entrada em
wp-config.php
:fonte
private
métodos comoWP_Http::_dispatch_request
que estão agora nunca ligou.)