Configurando o Cron job do Mautic [cursoprodutivo]

Olá Pessoal, blz?

Neste artigo tentarei demonstrar de maneira rápida e simples, como configurar seu Mautic para trabalhar com cronjob.

Vale lembrar que sem essas configurações, você não consegue fazer o Mautic realizar nenhuma automação de campanha, listas ou segmentações, etc. Então configurar as tarefas Cron de seu Mautic é fundamental para o correto funcionamento.

Além disso o Mautic requer alguns trabalhos cron para lidar com algumas tarefas de manutenção. A maioria dos hosts da web fornece um meio para adicionar trabalhos cron através de SSH, cPanel ou outro painel personalizado. Neste artigo irei focar, especificamente na configuração através do cPanel, o mais utilizado (comum) nas hospedagens do Brasil.

A frequência com que se executa os trabalhos do cron depende muito de você e do sua hospedagem. Muitos hosts compartilhados preferem que você execute scripts a cada 15 ou 30 minutos e pode até mesmo substituir os horários programados para atender a essas restrições. Qualquer coisa, consulte a documentação do seu host e verifique se eles têm essa possível restrição.

É altamente recomendável que você tenha que escalonar os seguintes trabalhos do Mautic, para não executar todos ao mesmo tempo. São eles:

  • Atualização de Segmentos
  • Reconstrução de Campanhas
  • Execução de Campanhas
  • Processamento do envio do e-mail
  • Processamento da Caixa de E-mail monitorada
  • Processamento da atualização da base de IP
  • Remoção dos dados antigos do Banco de Dados do Mautic

Então vamos lá, geralmente o caminho para acessar os trabalhos Cron na sua hospedagem é parecida como a imagem abaixo: (Figura 1)

cpanel-tarefas-cron-mautic-cursoprodutivo-tela1

Figura 1

Agora vamos adicionar as tarefas Cron do Mautic:  (Figura 2)

cpanel-tarefas-cron-mautic-adicionar-novo-trabalho-cursoprodutivo-tela2

Figura 2

Adicione os códigos a seguir, lembre-se de adicionar um comando (linha) por vez :

path/to/php path/to/mautic/app/console mautic:segments:update --env=prod
path/to/php path/to/mautic/app/console mautic:campaigns:rebuild --env=prod
path/to/php path/to/mautic/app/console mautic:campaigns:trigger --env=prod
path/to/php path/to/mautic/app/console mautic:emails:send --env=prod
path/to/php path/to/mautic/app/console mautic:social:monitoring --env=prod
path/to/php path/to/mautic/app/console mautic:broadcasts:send --env=prod
path/to/php path/to/mautic/app/console mautic:email:fetch --env=prod
path/to/php path/to/mautic/app/console mautic:iplookup:download --env=prod
path/to/php path/to/mautic/app/console mautic:maintenance:cleanup --days-old=365 --no-interaction --env=prod

Alterar o “path/to/php” pelo caminho do seu php na hospedagem, geralmente é somente “php“.

Alterar o “path/to/mautic” pelo caminho “Físico” do Mautic na sua hospedagem, geralmente é “/home/<usuario>/www” ou “/home/<usuario>/public_html/
Em minutos, colocar os padrões da imagem abaixo: (Figura 3)

Figura 3 Figura 3

Caso você tenha dificuldade em fazer via Tarefas Cron no seu servidor, vou ensinar agora a fazer via Servidor externo:

Servidor Externo (Versão com Script)

Uma outra alternativa, caso você tenha dificuldade via sua hospedagem, burocracia do suporte, etc… Copie esse script abaixo e salve ele como: commands_cronjob.php

Não esqueça de alterar a palavra “password” em azul, na 3ª (terceira)  linha do script, pela sua frase de segurança/senha de segurança.

<?php

if (!isset($_GET['password'])) {
    echo 'The secret phrase is wrong.';
    die;
}

$link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$allowedTasks = array(
    'mautic:campaigns:trigger',
    'mautic:campaigns:rebuild',
    'mautic:iplookup:download',
    'mautic:emails:send',
    'mautic:email:fetch',
    'mautic:integration:fetchleads -i Salesforce',
    'mautic:segments:update',
    'doctrine:migrations:migrate',
    'doctrine:schema:update --dump-sql',
    'doctrine:schema:update --force'
);

if (!isset($_GET['task'])) {
    echo 'Specify what task to run. You can run these:';
    foreach ($allowedTasks as $task) {
        $href = $link . '&task=' . urlencode($task);
        echo '<br><a href="' . $href . '">' . $href . '</a>';
    }
    echo '<br><a href="https://www.mautic.org/docs/setup/index.html">Read more</a>';
    echo '<br><b style="color:red">Please, backup your database before executing the doctrine commands!</b>';
    die;
}
$task = urldecode($_GET['task']);
if (!in_array($task, $allowedTasks)) {
    echo 'Task ' . $task . ' is not allowed.';
    die;
}
$fullCommand = explode(' ', $task);
$command = $fullCommand[0];
$argsCount = count($fullCommand) - 1;
$args = array('console', $command);
if ($argsCount) {
    for ($i = 1; $i <= $argsCount; $i++) {
        $args[] = $fullCommand[$i];
    }
}
echo '<h3>Executing ' . implode(' ', $args) . '</h3>';
require_once __DIR__.'/app/bootstrap.php.cache';
require_once __DIR__.'/app/AppKernel.php';
require __DIR__.'/vendor/autoload.php';
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Output\BufferedOutput;
defined('IN_MAUTIC_CONSOLE') or define('IN_MAUTIC_CONSOLE', 1);
try {
    $input  = new ArgvInput($args);
    $output = new BufferedOutput();
    $kernel = new AppKernel('prod', false);
    $app    = new Application($kernel);
    $app->setAutoExit(false);
    $result = $app->run($input, $output);
    echo "<pre>\n".$output->fetch().'</pre>';
} catch (\Exception $exception) {
    echo $exception->getMessage();
}

Após isso, suba o arquivo diretamente no diretório de seu Mautic (na sua hospedagem), ainda no cPanel, vá em “Gerenciador de Arquivos” a sua tela deve ser parecida como abaixo: (Figura 4)

gerenciador-de-arquivos-cpanel-cursoprodutivo

Figura 4

Depois clique em carregar (upload) para subir o arquivo salvo de sua máquina.

Agora, acesse a URL:

www.<Seu dominio>.com.br/<diretório do Mautic>/commands_cronjob.php?<frase/senha escolhida>

Meu exemplo ficou: http://www.cursoprodutivo.com.br/mautic/commands_cronjob.php?password (figura 5)

links_mautic_cronjob

Figura 5

Agora que já temos os links configurados, vamos acessar o site Cronjob – https://cron-job.org e configurar esses cron’s nele.

Faça o seu cadastro no site, caso não possua e após se logue na sua conta. Após isso você deverá ter uma tela igual a essa: (Figura 6)

Clique no Botão “Cronjobs” que irá listar seus cronjobs cadastrados, isso claro, se já tiver feito algum. (Figura 7)
mautic-cron-job-area-membros

Figura 6

cron-job-org-cronjobs1

Figura 7

Ainda na tela acima (figura7), você irá criar em “create Cronjob” como mostrado na seta vermelha. E deverá ter uma tela como a da Figura 8, então siga exatamente como mostrada nela e crie o seu primeiro link.

mautic-cron-job-editando-o-cronjob

Figura 8

Então é isso, espero que tenha gostado desse artigo e para te auxiliar ainda mais nas suas configurações, estou disponibilizando abaixo mais um vídeo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *