cron não está funcionando corretamente.A tabela Cron_schedule contém apenas uma linha (enterprise_refresh_index)

magento.stackexchange https://magento.stackexchange.com//questions/78984

Pergunta

Estou enfrentando um problema estranho de cron na versão Magento.1.13.0.2.A tabela cron_schedule contém apenas uma linha:

  1 | enterprise_refresh_index | success | NULL     | 2015-08-13 22:37:00 | 2015-08-13 22:37:00 | 2015-08-17 19:29:01 | 2015-08-17 19:29:01

Mas estou sentindo falta de todos os outros crontabs do núcleo do Magento e das extensões personalizadas.Configurei o crontab e também tentei executar o cron.php manualmente.Se eu executá-lo manualmente, os horários "executed_at" e "finished_at" serão atualizados.

Se eu olhar para a tabela core_config_data e procurar por "cron", vejo apenas 2 conjuntos de dados relacionados ao cron:

mysql> select * from core_config_data where value like "%cron%";
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
| config_id | scope   | scope_id | path                                           | value                                          |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
|       131 | default |        0 | catalog/productalert_cron/error_email_template | catalog_productalert_cron_error_email_template |
|       937 | default |        0 | crontab/jobs/log_clean/run/model               | log/cron::logClean                             |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
2 rows in set (0.00 sec)

mysql> 

O código/núcleo/Mage/Cron do módulo está habilitado.O registro adicional está ativado, mas não vejo nenhum problema relacionado ao cron em system.log nem em exception.log.Além disso, os logs do servidor estão vazios.

Alguém tem uma ideia do que pode causar o problema ou como depurá-lo?Obrigado!

Foi útil?

Solução

Se por "executá-lo manualmente" você quer dizer que acessou cron.php em seu navegador e ainda não tem nada na tabela, então o script provavelmente está saindo muito cedo.Tente abrir o cron.php e forçar o $isShellDisabled variável para verdadeiro.(Não tenho o código aberto na minha frente.)

Outras dicas

Seu cron provavelmente não está configurado no servidor.Você tem que criar um cronjob do SSH ou do seu painel de controle para ligar cron.sh na raiz do seu site (geralmente em intervalos de 5 minutos).É isso que realmente executa as tarefas de forma contínua.Se nada estiver ligando cron.sh ou cron.php de forma contínua, nada acontecerá de fato (como você notou).

Para uma explicação sobre como criar o cronjob a partir do SSH, veja a resposta de Williem Wigman aqui: https://magento.stackexchange.com/a/32580/1905

Se você usar um painel de controle de hospedagem em vez de SSH para criá-lo, o processo dependerá inteiramente de como funciona o seu painel de controle específico.Em geral, você deseja que ele seja executado em um intervalo de 5 minutos (*/5 * * * *) e deseja que ele seja executado sh {your_path_to_magento}/cron.sh.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top