Neste post iremos abordar como configurar o Cron no Magento 2 “Tarefas Agendadas”.
Os trabalhos do Cron ou as tarefas agendadas no Magento são habilitados para realizar algumas operações periódicas em tempo hábil.
Os trabalhos do Cron precisam ser configurados para os seguintes serviços e operações para trabalhar em datas e horas específicas,
- Re-indexação
- Código de preços de catálogo
- Enviando boletins informativos
- Gerando Google Sitemaps
- Notificações de clientes ou mensagens de alerta
- Taxas de câmbio de atualização automática
- Limpeza agendada de log de banco de dados
- Limpeza de cache
O que é crontab “cron”?
O crontab, é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um serviço que executa comandos agendados nos sistemas operacionais do tipo Unix (como o Linux ou o MINIX, por exemplo).
No Magento 2, três trabalhos cron são exigidos para serem executados.
Como configurar o Cron no Magento 2 por linha de comando
Para configurar o trabalho do cron para o Magento 2, você deve executar a seguinte linha de comando para atualizar a tabela cronjob:
crontab -e
Adicione as seguintes linhas ao seu arquivo crontab:
*/1 * * * * php -c {php.ini_path} {magento_path}/bin/magento cron:run */1 * * * * php -c {php.ini_path} {magento_path}/update/cron.php */1 * * * * php -c {php.ini_path} {magento_path}/bin/magento setup:cron:run
Nesse caso, nosso ambiente é esse: {php.ini path} é /etc/php5/apache2/php.ini; e {magento_path} é / var / www / m2, então o comando cronjob é:
*/1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/bin/magento cron:run */1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/update/cron.php */1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/bin/magento setup:cron:run
Salve e feche o arquivo crontab.
- Nano editor: pressione Ctrl + O para salvar, em seguida, Ctrl + X para sair.
- Editor Vim: pressione Escape, wq para salvar e encerrar.
Configurando Cron no Magento 2 no Xampp / Window
No Magento 2, três trabalhos cron exigidos para serem executados. Como o Windows não possui cron, precisamos usar um arquivo de morcego e configurá-lo para executar como uma tarefa agendada como mostrado abaixo:
- Em primeiro lugar, encontre a localização do php.exe – Geralmente, onde o Xampp está instalado, está no Drive: \ xampp \ php, por exemplo, c: \ xampp \ php
- Vá para uma pasta e crie um arquivo chamado mycron.bat
- Edite este arquivo e cole 3 linhas mostradas abaixo:
php_path\php.exe magento_root\bin\magento cron:run php_path\php.exe magento_root\update\cron.php php_path\php.exe magento_root\bin\magento setup:cron:run
- Salve o arquivo, abra o prompt de comando do Windows e insira o seguinte comando:
schtasks /create /sc minute /mo 5 /tn Magento\Cron /tr path_t_bat_file\mycron.bat
- Agora, clique em Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Agendador de Tarefas.
- Expanda Task Schedule Library da coluna da mão esquerda e clique em Magento.
- Selecione Cron no painel do meio, clique nas propriedades do painel direito em itens selecionados.
- Em Opções de segurança, clique no botão Alterar usuário ou Grupo.
- Agora, na janela atual, insira o nome de usuário do sistema na caixa do nome do objeto e clique em verificar nomes. Clique em OK para fechar a janela do Usuário e OK para fechar a Janela de Propriedades do Cron e fechar o Agendador de Tarefas.
- A configuração do trabalho Cron é bem sucedida e será executada a cada 5 minutos.
Configurando Cron do Magento 2 pelo no Cpanel
Às configurações pelo Cpanel são bem simples, porém neste caso é aconselhado que você entre em contato com suporte da sua hospedagem solicitando a configuração do Cron para o Magento 2.
No chamado que será aberto, faça referencia ao seguinte link: http://devdocs.magento.com/guides/v2.2/cloud/configure/setup-cron-jobs.html
Que irá instruir o técnico responsável à realizar a configuração corretamente.
Ainda sobre o Cron
O cron pode ser interpretado como um serviço do Linux que é carregado durante o processo de boot do sistema. Trata-se de uma ferramenta que permite programar a execução de comandos e processos de maneira repetitiva ou apenas uma única vez.
Para executar as tarefas, o cron usa uma espécie de tabela conhecida como crontab. O arquivo crontab geralmente fica localizado no diretório /etc, mas também pode estar em um diretório que cria um crontab para cada usuário do sistema, geralmente em /var/spool/cron/.