WP-Cron Overview

WP-Cron executa tarefas específicas para sites movidos a WordPress. O nome Cron vem do sistema Unix para tarefas de agendamento, variando de uma vez por minuto a uma vez por ano. Seja manutenção de rotina ou alertas agendados, qualquer comando que possa ser executado no Unix sem intervenção do usuário pode ser agendado como uma tarefa Cron.

WP-Cron é semelhante em natureza a Cron, mas difere em um par de maneiras muito importantes. Esta característica é projetado exclusivamente para lidar com tarefas de rotina WordPress:

  • Verifique a nova versão do núcleo do WordPress, temas e plugins
  • Limpar spam

Plugins e temas pode adicionar tarefas a serem executadas em intervalos regulares. Por exemplo, se você tem um plugin que digitaliza o Twitter para seus tweets e, em seguida, incorpora-os em comentários, é mais provável que seja feito com um trabalho WP-Cron. WP-Cron abre um mundo totalmente novo de coisas que um Site alimentado WordPress pode fazer.

como é o WP-Cron despoletado?

a principal diferença entre Cron e WP-Cron é a forma como o WP-Cron é despoletado. Cron é um processo de sistema que roda a cada minuto e procura tarefas para executar. WP-Cron, porque é um sistema baseado na web, só pode correr quando alguém visita o site. Portanto, quando alguém navega para o seu site WordPress, WP-Cron verifica para ver se algo precisa ser feito. Graças aos desenvolvedores do WordPress core, ele faz isso de uma forma que não afeta negativamente o desempenho do seu site.

problemas com locais de baixo tráfego

sites de baixo tráfego WordPress pode experimentar tarefas ignoradas quando Esta característica é desencadeada pelos visitantes. Se as pessoas não estão visitando seu site, WP-Cron não pode executar. Isto não significa que a sua página será lenta a partir de trabalhos anteriores quando alguém eventualmente visita o seu site. Independentemente de quantas tarefas WP-Cron tem que executar, elas são executadas em segundo plano para que o desempenho do seu site não seja afetado negativamente.

problemas com locais de alto tráfego

Se o seu site alimentado WordPress é de alto tráfego, você pode ter problemas com WP-Cron. As principais questões que surgem são as condições de corrida e processos de longa duração.condição de raça: Quando mais de um usuário visita seu site e despoleta WP-Cron para executar a mesma tarefa. WP-Cron trabalha duro para eliminar as condições de corrida, mas eles ainda podem acontecer, especialmente em locais de alto tráfego.

  • processo de longa duração: qualquer tarefa que leve mais tempo do que o padrão de 60 segundos para executar. Os desenvolvedores podem ajustar quanto tempo uma tarefa de PHP é permitida para executar com a função set_time_limit(). Se isto for definido como sendo maior do que a janela entre tarefas, então você pode acabar com mais de uma cópia de wp-cron.php executando.
  • ambas as questões são abordadas dentro do bloqueio interno do WP-Cron e não são problemas comuns; no entanto, eles ainda podem ocasionalmente acontecer.

    Gerenciar WP-Cron internamente

    WP-Cron vem pré-configurado e pronto para correr, então você não precisa fazer nada para ativá-lo em seus sites WordPress.

    durante a instalação inicial do WordPress, várias tarefas são configuradas automaticamente. Você pode usar alguns comandos simples a partir da linha de comando, ou um de vários plugins, para encontrar as tarefas exatas que estão sendo executadas por WP-Cron.

    WP-Cron do CLI

    Se tiver Terminus instalado, poderá ver facilmente todos os detalhes do que se passa com o WP-Cron. Terminus, através WP-CLI, pode mostrar os detalhes como:

    • o Que é programado para executar
    • o Que será executado ao lado
    • O evento ganchos que são configurados

    Você também pode programar o seu próprio emprego, executar trabalhos existentes, e gerenciar tudo WP-Cron relacionados, tudo a partir da linha de comando.

    uma das primeiras coisas que você vai querer fazer é testar WP-Cron para se certificar de que tudo está funcionando corretamente. Quando executar o comando abaixo, certifique-se de substituir o SITE_NAME pelo nome do seu site a partir do Painel de bordo Pantheon e substitua o ENV_NAME pelo ambiente desejado (“dev”, “test”, “live”, ou nome da ramificação multidev).

    terminus wp <site>.<env> -- cron test

    If everything works correctly, the result looks like this:

    Success: WP-Cron spawning is working as expected.

    Isto permite-lhe saber que WP-Cron está a trabalhar correctamente no seu site. A partir daqui, você pode executar qualquer comando relacionado com cron com WP-CLI. Ao usar WP-CLI para gerenciar o seu Pantheon hospedado site WordPress, você deve estar usando Terminus. O formato de comando é o seguinte:

    terminus wp <site>.<env> -- cron <your wp-cron command and switches here>

    Allterminus wp os comandos requerem um nome do site e um ambiente para operar.

    Nota

    se você protegeu o seu site usando a configuração de segurança no seu Painel de instrumentos, Terminus será incapaz de executar cron e você pode ver erros de relatório de Estado no painel de instrumentos.

    Plugins

    Se quiser manter um olho no WP-Cron mas não gostar da linha de comandos, existem vários plugins que pode usar. WP Crontrol, por exemplo, irá mostrar-lhe todos os eventos agendados para o seu site. Você pode criar, editar, executar, ou excluir empregos imediatamente a partir de seu painel de administração WordPress. Você também pode ligar novas ações em agendas ou mover ações existentes para novos agendas a partir de dentro da seção Ferramentas.

    WPX Cron Manager Lite fará um trabalho semelhante com uma UI ligeiramente diferente. Este plugin requer que você faça uma instalação única do framework WPX, que você pode fazer diretamente a partir da página de Gerenciador de plugins.

    Gerenciar WP-Cron externamente

    Se você está procurando por mais controle sobre as tarefas de cron do seu site, ou você não quer WP-Cron para lidar com tarefas internamente, você pode usar crons externos em vez disso. Isto irá resolver os problemas acima discutidos para o tráfego elevado e locais de tráfego baixo.

    desactivar o WP-Cron

    a primeira coisa que terá de fazer é desactivar o processamento interno do WP-Cron. Adicione a seguinte linha ao seu ficheiro wp-config.php:

    wp-config.php
    define('DISABLE_WP_CRON', true);

    Nota

    existem muitas tarefas importantes que WP-Cron toma conta, por isso esteja preparado para completar todos os passos abaixo.

    serviços gratuitos

    Uma vez Desactivado O WP-Cron, necessitará de um serviço que invoque um URL a intervalos regulares. A maneira mais fácil de fazer isso é configurar uma conta com um serviço de cron:

    • EasyCron
    • Definir Cron Job
    • cron job

    Qualquer um dos serviços acima vai começar o trabalho feito. Ao desactivar o WP-Cron, você desligou a verificação automática e a chamada do programa wp-cron.php. Agora você terá que chamar esse URL você mesmo usando um dos serviços acima. Com a maioria deles, é tão fácil como este:

    1. Configurar uma conta
    2. Configurar um trabalho que chama https://yourdomain.tld/wp-cron.php?doing_wp_cron

    Nota

    Substituir ” seudominio.tld ‘ com o seu domínio.

    dependendo do serviço que você usa, você pode ter a capacidade de configurar vários trabalhos em momentos diferentes. Criar um único trabalho que chama de scriptwp-cron.php

    script a cada 15 minutos é tudo o que você precisa. O WP-Cron vai tratar do resto. Se você criar novos horários que precisam ser executados com mais frequência do que uma vez a cada 15 minutos, você precisará ajustar o seu trabalho em conformidade.

    é importante que você não adicione um valor à variável doing_wp_cron consulta; ela deve estar vazia para que o cron funcione corretamente.

    usando o seu próprio servidor

    se administrar o seu próprio servidor, pode usar o serviço de cron para fazer uma chamada para o wp-cron.php script. Você terá que aprender como configurar corretamente um trabalho de Cron e usar algo como ou curl para obter uma página web. A menos que você tome precauções especiais, não é mais seguro usar seu próprio servidor contra um serviço de cron baseado na web; no entanto, ele lhe dá mais controle.

    segurança

    Para A maior parte, wp-cron.php é seguro. Há apenas um parâmetro que você pode passar que afetará o script (doing_wp_cron). Este valor $_GET não é filtrado; é usado apenas como uma bandeira e não como entrada para um processo ou variável. Além disso, toda a entrada é ignorada.

    While no script on a server attached to the Internet is 100% secure, wp-cron.php currently does not have any known vulnerabilities or exploits.

    WordPress Plugins Cron

    WordPress tem muitos plugins que controlam tanto tarefas internas WP-Cron e tarefas externas Cron. Uma vez que Pantheon não fornece serviços Cron, não recomendamos ou desencorajar o uso de qualquer plugin dado. Nós encorajamos você a verificar a lista de Plugins WordPress Cron e experimentar em seu ambiente Dev para encontrar o que melhor se adapta às suas necessidades.

    Deixe uma resposta

    O seu endereço de email não será publicado.