log->error("Scheduler: Task script can't be found at ".KT_DIR."{$script}.sh"); continue; break; case 'exe': if(file_exists(KT_DIR . $script)){ $sTaskUrl = $script; break; } if(file_exists(KT_DIR . $script.'.bin')){ $sTaskUrl = $script.'.bin'; break; } // File doesn't exist - log error $default->log->error("Scheduler: Task script can't be found at ".KT_DIR."{$script} or ".KT_DIR."{$script}.bin"); continue; break; } } $iTime = time(); $iStart = explode(' ', microtime()); // Run the script $file = KT_DIR . escapeshellcmd($sTaskUrl); system("{$file} {$sParameters} >> /dev/null", $retval); // On completion - reset run time $iEnd = explode(' ', microtime()); $iDuration = ($iEnd[1] + $iEnd[0]) - ($iStart[1] + $iStart[0]); $iDuration = round($iDuration, 3); if(($sFreq == 'once' || empty($sFreq)) && $retval !== FALSE){ // Set is_complete to true $aUpdate['is_complete'] = '1'; }else{ $iNextTime = calculateRunTime($sFreq, $iTime); $aUpdate['run_time'] = date('Y-m-d H:i:s', $iNextTime); } $aUpdate['previous_run_time'] = date('Y-m-d H:i:s', $iTime); $aUpdate['run_duration'] = $iDuration; updateTask($sTable, $aUpdate, $item['id']); // clear parameters if(!empty($aParams)){ foreach($aParams as $param){ $aParam = explode('=', $param); $$aParam[0] = ''; } $aParam = array(); $aParams = array(); } } } ?>