Configuré una tarea de trabajo cron en mi cuenta de cpanel que se ejecuta cada cinco minutos apuntando a curl "http://domain/admin/index.php?controller=AdminCronJobs&token=b883b19bfc82743cb3b94165d31806d4" y recibo la alerta por correo electrónico después de que se ejecuta el cron, entonces, este Esta corriendo. Mi administrador de tareas Cron de Prestashop (módulo cronjobs) apunta a http://domain/admin/index.php?controller=AdminModules&token=988bbbea561a66f8cbd4bc8ae256587a&configure=productimporter&tab_module=others&module_name=productimporter&runners=0 y se ejecuta cada hora.
Configuré algunos registros de errores en el código de mi módulo que se supone que debe ejecutarse y no se imprime nada en el archivo de registros de errores.
Si ejecuto http://domain/admin/index.php?controller=AdminModules&token=988bbbea561a66f8cbd4bc8ae256587a&configure=productimporter&tab_module=others&module_name=productimporter&runners=0 en el navegador, inicié sesión en el administrador, en lugar de ejecutar la tarea cron, el código se ejecuta perfectamente y imprima también error_logs en el archivo error_logs. Entonces, si no me equivoco, el problema es que cuando el cron comienza a ejecutar la URL, Prestashop solicita autenticación y, por lo tanto, mi código no se ejecuta.
¿Qué debo hacer para escapar de la autenticación?
¡Gracias!
Actualización: Ha pasado un tiempo desde que resolví esta publicación, así que estoy un poco olvidado de cómo terminé con esta solución.
Configuré un trabajo cron en mi cuenta de cpanel: /usr/bin/php public_html/modules/module/update-me-up.php k=somethingYouWant > /dev/null 2>&1
Este cron llamará a mi archivo update-me-up, y este archivo llamará a la clase que quiero.
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); ini_set("log_errors", 1); ini_set("error_log", $logPath); error_log('new'); error_log(dirname(__FILE__)); include(dirname(__FILE__).'/../../config/config.inc.php'); //include(dirname(__FILE__).'/../../init.php'); $key = 'somethingYouWant '; if(!Tools::getValue('k') || Tools::getValue('k') != $key){ error_log('unauthorized'); die('unauthorized'); } error_log(dirname(__FILE__).'/classIWant.php'); include(dirname(__FILE__).'/classIWant.php'); error_log('Cron task starting'); $a = new classIWant(); $a->run();