У меня есть CodeIgniter веб-приложение, и я уже сделал модель, которая будет делать запрос на распредвал API, чтобы сделать экран печати, скрипт работает хорошо, вот это:Выполнение модели в CodeIgniter с cronjob
<?php
class CronjobImagePrintScreenAPI extends CI_Model{
function __construct()
{
// Call the Model constructor
parent::__construct();
$this->load->library('curl');
$this->load->helper('file');
}
public function show_jobs(){
$flag = FALSE;
$query = $this->db->get('cron_jobs');
$query_result = $query->result();
if (empty($query_result)) {
$flag = FALSE;
}else{
$flag = TRUE;
}
if($flag === TRUE){
$datasidget = $this->curl->simple_get('myloginapi');
$datasid = json_decode($datasidget,true);
$data_sid = $datasid['data']['sid'];
$reqUrl = "myprintscreenapi";
$imageencode = $this->curl->simple_get($reqUrl);
$insert_id = $query_result[0]->name;
$path = "./images/$insert_id";
write_file($path, $imageencode, $mode = 'wb');
$this->db->where('name', $insert_id);
$this->db->delete('cron_jobs');
}
}
}
И я хочу сделать cron, который будет выполнять эту модель выше один раз за каждые 1 минуту, я знаю, как это сделать, то, что я не знаю, это то, что php-скрипт мне нужно написать, чтобы запустить эту модель с cron я сделал такой контроллер:
<?php
class Cronpicture extends CI_Controller {
public function __construct() {
parent:: __construct();
$this->load->helper('url','form');
$this->load->library('pagination');
$this->load->model('CronjobImagePrintScreenAPI');
}
public function getcronjob() {
$result=$this->CronjobImagePrintScreenAPI->show_jobs();
return $result;
}
}
?>
Но это, очевидно, не будет работать, функция. Любые идеи о том, как сделать исполняемый файл php для работы с cron, чтобы вызвать эту функцию модели? Благодаря!
Я полагаю ваш хрон работает от CLI, так что просто следовать примеру из [документы] (https://www.codeigniter.com/user_guide/general/cli.html). – Tpojka