Enviando e-mails agendados

2

O wordpress executará o cron se eu tiver agendado os emails a serem enviados? Parece que se nenhuma visita (solicitação) for feita ao site, as tarefas agendadas não serão executadas e, portanto, os e-mails não serão enviados, por exemplo. de hora em hora.

De acordo com a situação atual, se não houver visita ao site por algumas horas (e que a visita é feita), todos os emails programados serão enviados ao mesmo tempo

Como posso evitar isso? Existe um plugin para adicionar a tarefa Cron?

    
por Bojan Savic 24.07.2012 / 02:57

2 respostas

9

Você não pode confiar no wp-cron para obter resultados consistentes, então você precisa olhar para o nível do servidor. A maioria das instalações do Wordpress em nível corporativo precisa de algum tipo de automação consistente. É assim que eu automatizo o WordPress neste tipo de situação.

Você precisará adicionar um crontab ao próprio servidor. Se você estiver executando o Linux, você pode usar crontab -e para acessar a tela de edição.

Em seguida, adicione um comando curl simples para acessar seu site regularmente:

0 * * * * curl http://yoursite.com/ >/dev/null 2>&1

Este comando será executado uma vez por hora. Os bits no final enviam a saída para null e remove a funcionalidade de email toda vez que o cron é executado.

Eu uso isso nos meus sites para contornar o 'agendamento' do wp-cron. Se você não está certo sobre a criação de um cronograma crontab, confira esta ferramenta útil para gerar um comando crontab. enlace

Se você estiver em um host compartilhado, esperamos que você tenha o cPanel, que, se ativado, fornecerá uma GUI para adicionar um cron job. Se por algum motivo você não puder adicionar um crontab, eu consideraria encontrar um host que forneça acesso ao shell e permita a flexibilidade que você precisa.

Eu nunca usei um serviço de hospedagem cron, mas você pode verificá-lo se o seu host não permitir que você adicione um crontab. enlace é um exemplo de um host cron. (Novamente, eu não sei a confiabilidade desses serviços)

Espero que isso ajude você!

    
por Brian Fegter 24.07.2012 / 03:49
2

Geral

As funções de agendamento e filtros cron não são considerados uma API real no WordPress. Isso tem vários motivos, mas o mais importante é que tais coisas devem executar do lado do servidor em um nível menor do que um sistema / estrutura de gerenciamento de conteúdo como o WordPress.

Explicação

O WordPress é executado em PHP, que (simplesmente dito) se comunica entre o servidor e o navegador (junto com outras linguagens de programação como o javascript). Portanto, ele deve ser executado sempre na solicitação (por um usuário - que abre a página dentro de seu navegador). E sem esse tipo de interação, você não pode executar nada.

É isso. :)

Solução?

Como o WordPress (sobre o que este site de Perguntas e Respostas trata) não pode fornecer uma solução que funcione sem a interação do usuário, não posso lhe dar nenhum outro conselho, do que verificar o que o seu host permite e se você não Para se locomover, peça ajuda.

    
por kaiser 24.07.2012 / 03:48

Tags