Neste tutorial vamos aprender a levar os Cron Jobs do Mautic ao nível superior e automatizar as tarefas com o Crontab.
Os cron jobs do Mautic automatizam várias tarefas repetitivas que o Mautic precisa realizar para funcionar corretamente e também permitem controlar os tempos de cada um desses processos.
Eles são a maneira mais inteligente e simples de automatizar a execução de script em um servidor Linux.
No entanto, foram projetados pelas grandes e profundas mentes que criaram o próprio Linux e estão profundamente enraizados nos cantos mais sombrios do kernel do Linux, então eles geralmente não se apresentam como simples ou óbvios para a maioria de nós.
É provavelmente por isso que tantas pessoas têm problemas com os cron jobs do Mautic.
O que são tarefas cron do Mautic?
Tecnicamente, não existem tarefas cron no Mautic se não usarmos comandos, então na verdade são comandos Symfony específicos para Mautic, que acionamos usando um crontab.
Um comando Mautic é uma ação ou série de ações encontradas no código Mautic, esses comandos podem ser acionados a partir de qualquer linha de código dentro do Mautic ou por meio de seu próprio código, também diretamente no console CLI ou com tarefas cron, é claro.
Os cron jobs são uma forma de agendar tarefas no Linux, é basicamente uma lista de tarefas a serem executadas em determinados horários, então sim é uma espécie de despertador que ao invés de tocar, executa um comando no servidor na hora certa.
Então podemos dizer que os chamamos de tarefas cron Mautic são, na verdade, comandos Mautic executados pelo agendador cron em intervalos predefinidos.
Para poder definir adequadamente os cron jobs do Mautic para o seu servidor / hospedagem específico, existem 3 variáveis que você precisa resolver primeiro, vamos dividir o problema nessas 3 variáveis e, no final, vamos agrupar tudo, vamos começar!
1ª variável. O comando Mautic:
Existem muitos comandos Mautic que podemos executar como um cron job, esta é talvez a variável mais simples de resolver, e os 3 obrigatórios e mais usados são:
mautic:segments:update
mautic:campaigns:update
mautic:campaigns:trigger
Por enquanto você só precisa saber que eles existem …
2ª variável. O caminho:
Agora, para poder executar esses comandos, você precisa informar ao ¨cron¨ onde encontrar os scripts que deseja executar.
Os comandos do Mautic que usaremos como tarefas do cron são encontrados no diretório do Mautic, o problema é que a localização exata desses arquivos é completamente arbitrária …
Cada sistema operacional e cada distribuição do Linux usa diferentes locais ou caminhos padrão para armazenar seus arquivos do Mautic.
Além disso, cada provedor de serviços e empresa de hospedagem também adicionará algumas pastas extras (ou não) e se você estiver usando qualquer tipo de painel ou script de instalação, eles também usarão diferentes estruturas de pastas próprias.
Então, basicamente, o caminho certo para seus Cron Jobs é o caminho para o diretório do Mautic 3 + /bin/console/.
NOTA: Se você ainda estiver usando o Mautic 2.x , o caminho para seus Cron Jobs é o caminho do diretório Mautic 3+ : /app/console/.
Se estiver com dificuldade para descobrir o caminho certo para a instalação do Mautic, você pode executar o seguinte comando em seu servidor Linux:
Para servidores que executam Debian, Ubuntu e derivados, use:
grep -i 'DocumentRoot' /etc/apache2/sites-available/000-default.conf
Para servidores executando distribuições CentOS , RHEL e Fedora Linux, execute:
grep -i 'DocumentRoot' /etc/httpd/conf/httpd.conf
Este comando retornará algo como:
DocumentRoot /var/www/html/mautic
Mas, novamente, pode ser qualquer coisa … Anote a saída, você precisará dela mais tarde.
3ª variável. A temporização:
O tempo é a última variável com a qual trabalharemos. Existem diferentes maneiras de configurar isso, mas para simplificar, usaremos apenas * * * * *.
Não vou discutir os detalhes sobre os tempos do cron job nesta parte do guia; isso será analisado em detalhes na Etapa 3. Por enquanto, você só precisa saber que * * * * * significa a cada minuto.
Vamos juntar tudo!
Fizemos o Cron Jobs e agora é hora de colher as recompensas …
Cada cron job é basicamente construído com as mesmas partes, seus cron jobs terão 4 partes, conforme mostrado abaixo:
- Quando o cron job será executado primeiro, use * * * * *
- Em seguida, adicione o texto “php” para informar ao servidor qual interpretador ele deve usar.
- Em seguida, adicione o “path/toyour/files”.
- E, finalmente, adicione o comando Mautic que deseja que o cron execute para você.
Então, digamos que seu caminho da instalação seja “/var/www/html/”
Seus cron jobs seriam assim:
* * * * * php /var/www/html/bin/console mautic:segments:update
* * * * * php /var/www/html/bin/console mautic:campaigns:update
* * * * * php /var/www/html/bin/console mautic:campaigns:trigger
Observe que há espaços antes e depois do PHP e mais um depois do console, você precisa respeitar todos os espaços ou terá problemas.
Instale seus cron jobs!
Se você rodar o Mautic em um VPS e logicamente tiver acesso ao seu servidor via ssh, agora você pode adicionar estes comandos ao seu crontab, para isso basta logar no seu servidor via SSH e digitar:
sudo crontab -e
Se esta for a primeira vez que você edita seu crontab, ele solicitará que você escolha um editor (escolha “nano”, provavelmente é o mais simples para começar).
Agora você pode escrever seus comandos no editor, realmente não importa onde, mas você geralmente adiciona coisas novas no final do arquivo, um comando por linha.
Além disso, se você está usando alguma hospedagem compartilhada ou painel de controle, pode não ter acesso direto ao seu crontab, não posso te ajudar nessa situação porque cada provedor e cada painel tem sua própria maneira de fazer as coisas, se for o caso , você terá que pedir instruções ao seu provedor de serviços.
Espero que tenha sido instrutivo e lembre-se de que você pode fazer perguntas nos comentários aqui abaixo se alguma das etapas não funcionar como esperado em sua própria configuração.
Aproveite também para ler nosso artigo sobre sistemas Open Source para Multi Atendimento e Vendas no WhatsApp.
Para mais informações, consulte a documentação oficial do Mautic.