Ejemplo n.º 1
0
 public static function parse($file)
 {
     /*{{{*/
     if (!file_exists($file) || filesize($file) === 0) {
         return false;
     }
     $data = json_decode(file_get_contents($file), true);
     self::$check_sum = md5(json_encode($data));
     if (empty($data)) {
         return array();
     }
     $execute_plan = array();
     foreach ($data as $task) {
         $task = CronTask::createTask($task['task'], $task['user'], $task['id'], $task['running_user']);
         if ($task) {
             $execute_plan[] = $task;
         }
     }
     return $execute_plan;
 }
Ejemplo n.º 2
0
 public function updateTasks()
 {
     /*{{{*/
     // Get new file status every time.
     clearstatcache();
     if (!file_exists($this->conf_file) || filesize($this->conf_file) === 0) {
         unset($this->task_queue);
         $this->task_queue = null;
         return false;
     }
     $old_check_sum = CronPlanParser::$check_sum;
     $task_list = CronPlanParser::parseFile($this->conf_file);
     $new_check_sum = CronPlanParser::$check_sum;
     if ($old_check_sum != $new_check_sum) {
         foreach ((array) $task_list as $task) {
             CronLogger::info('New tasks: [' . $task->rule . ']');
         }
         unset($this->task_queue);
         $this->task_queue = $task_list;
     }
     unset($task_list);
     return true;
 }
Ejemplo n.º 3
0
function show_cron_tasks($conf_file)
{
    /*{{{*/
    $task_list = CronPlanParser::parse($conf_file);
    foreach ((array) $task_list as $task) {
        if ($task) {
            color_echo($task->rule . "\n", 'green');
        }
    }
    return true;
}