【发布时间】:2018-12-18 18:08:51
【问题描述】:
我有一个 codeigniter 网络应用程序,我已经做了一个模型,它将在 cam API 上发出请求以制作打印屏幕,脚本运行良好,这是它:
<?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 一起运行以调用该模型函数?谢谢!
【问题讨论】:
-
我想您的 cron 是从 CLI 运行的,所以只需按照 docs 中的示例进行操作即可。
标签: php codeigniter cron codeigniter-3