Visão geral de tarefas Cron automatizadas
Configurar cron é um passo importante na instalação de um site e ajuda na manutenção dos recursos do site para resultados de busca, verificar atualizações do núcleo e módulos do Drupal e remover arquivos temporários.
Um trabalho cron adequadamente configurado gerencia muitas tarefas:
- Atualiza o índice de conteúdo do site usado pelo módulo Busca.
- Feeds de filas que serão atualizados pelo módulo Agregador.
- Verifica se há atualizações disponíveis para o módulo Gerenciador de Atualizações.
- Executa tarefas de manutenção rotineira, como remover linhas antigas de registros, para o módulo Sistema.
O que é cron?
Cron é um daemon que executa comandos em intervalos definidos. Esses comandos são chamados de "trabalhos cron". Cron está disponível em servidores Unix, Linux e Mac. Servidores Windows usam tarefas agendadas para executar comandos. O "trabalho cron" real é uma ação acionada por tempo que geralmente (e com mais eficiência) é executada pelo servidor host do seu site, mas também pode ser configurado por um servidor remoto ou até mesmo a partir do seu próprio desktop.
O que realmente acontece é que o trabalho cron visita o arquivo cron.php no seu site em um URL como http://www.example.com/cron.php?cron_key=0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re. O endereço exato do arquivo cron.php pode ser encontrado no Relatório de Status em Administração > Relatórios > Relatório de Status (admin/reports/status) na seção Tarefas de Manutenção Cron.
Ativando cron
A forma mais simples é deixar que o Drupal faça isso por você (o que ele faz por padrão), usando o sistema integrado de "cron automatizado". Você pode gerenciar o "cron automático" através de Gerenciar > Configuração > Sistema > Cron (admin/config/system/cron). A frequência padrão é a cada três horas. Depois disso, o Cron será chamado pelos usuários finais que visitam seu site, não mais que a cada três horas. Observe que para sites com baixo tráfego também pode ser desejável criar um trabalho cron. Se você deseja desativar o cron automático, altere a lista suspensa "Executar cron a cada" para "nunca".
O sistema cron automatizado é compatível com todos os sistemas porque na verdade não usa o daemon cron do sistema. Funciona verificando no final de cada solicitação do Drupal para ver quando o cron foi executado pela última vez e, se foi há muito tempo, processa as tarefas cron como parte dessa solicitação. Duas desvantagens: (1) as tarefas cron serão executadas apenas quando o Drupal processa solicitações; e (2) o "peso" (processamento e memória) da execução de tarefas cron será adicionado a algumas solicitações de página arbitrárias desconhecidas, que podem deixar essas solicitações mais lentas e potencialmente podem exceder os limites de memória em um site complexo.
A segunda forma (que se aplica a qualquer versão do Drupal) é criar um trabalho cron ou usar algum outro método externo (para Drupal) para executar tarefas cron, como um serviço externo de trabalho cron como EasyCron ou Cronless. Este é o mais confiável dos dois métodos (porque sempre será executado conforme programado), e usa menos recursos (porque o processamento cron não é adicionado à solicitação de página). Portanto, geralmente é a forma preferida de executar cron quando você tem escolha. Observe que se você criar um trabalho cron, pode desativar completamente o sistema "cron".
Desativando "cron automático"
Por razões de desempenho ou se você deseja que o cron funcione apenas a partir de um gatilho externo, pode ser desejável desativar o sistema cron automatizado.
Você pode desativá-lo definindo "Executar cron a cada" como "Nunca" (por exemplo, em Administração > Configuração > Sistema > Cron (admin/config/system/cron)).
Outra forma de desativar cron no Drupal 8 é adicionar a seguinte linha ao arquivo settings.php:
$config['automated_cron.settings']['interval'] = 0;
Observe que isso define a opção admin/config/system/cron como "Nunca", e os usuários com privilégios de administrador não podem substituí-la.