run job php codeigniter cron cpanel

job - php artisan codeigniter



Trabajos de Cron en codeigniter (4)

Para mí, la forma más fácil de hacerlo es usar cURL y ejecutar la url en el cron:

curl http://admin.com/sites/publish/

Si necesita proteger la url, puede enviar datos por correo usando:

curl -X POST -d "apikey=yourapikey&another=variable" http://admin.com/sites/publish/

De esta forma, no tiene que pelear con los parámetros de php y las diferentes configuraciones.

Estoy tratando de hacer un trabajo cron con un sitio creado en CodeIgniter. Tengo acceso a la función cron de CPanel. ¿Alguien puede sugerir la mejor manera de configurar un trabajo cron usando CPanel?

Estoy usando CodIgniter entonces no puedo estar seguro de cómo llamar a un controlador dentro de un trabajo cron?

Ej. http://admin.com/sites/publish/

¿Cómo accedería a esta función de publicación dentro de los controladores de sitios usando un trabajo cron?


Lo hago de esta manera, creo la carpeta cron

/application /cron my_task.php /public

make script para cada trabajo cron /cron/my_task.php con contenido

<? $_SERVER["SCRIPT_URL"] = "/controllerName/MethodName"; // you can set url in routes if you want $_SERVER["HTTP_HOST"] = "your_site_address.com"; // without http://www require(dirname(__FILE__) . "/../public/index.php"); // path to index.php ?>

haga que el controlador Cron como otros, pero agregue validación en IP en __construct

y finalmente correr como

1 10 * * * cd /path_to_site_folder/cron/ && usr/local/bin/php /path_to_site_folder/cron/my_task.php >> path_to_log/some.log


La mejor manera es llamar desde la línea de comando en el trabajo cron ...

php /path/to/index.php controller >> /dev/null

Puede ejecutar controladores a través de la línea de comando en CI, consulte aquí .


Para Cronjob, intente acceder al controlador de línea de comandos, las funciones y los parámetros:

php index.php/controller/function/param1/param2/param3 etc

o

php index.php controller function param1 param2 param3 etc