コード例 #1
0
 public static function dispatch()
 {
     Kwf_Loader::registerAutoload();
     if (empty($_REQUEST['progressNum'])) {
         throw new Kwf_Exception('progressNum required');
     }
     $pbarAdapter = new Kwf_Util_ProgressBar_Adapter_Cache($_REQUEST['progressNum']);
     $pbarStatus = $pbarAdapter->getStatus();
     if (!$pbarStatus) {
         $pbarStatus = array();
     }
     $pbarStatus['success'] = true;
     if (isset($_REQUEST['outputFile']) && isset($_REQUEST['pid'])) {
         $processes = Kwf_Util_Process::getRunningProcesses();
         if (isset($processes[$_REQUEST['pid']])) {
             $pbarStatus['bgFinished'] = false;
         } else {
             $pbarStatus['bgFinished'] = true;
             if (!preg_match('#^bgproc[a-z0-9]+$#i', $_REQUEST['outputFile'])) {
                 throw new Kwf_Exception_AccessDenied();
             }
             $output = file_get_contents('./temp/' . $_REQUEST['outputFile']);
             $outputErr = file_get_contents('./temp/' . $_REQUEST['outputFile'] . '.err');
             $outputJson = json_decode($output);
             if (!$outputJson) {
                 //assign as string
                 $pbarStatus['bgError'] = $outputErr;
             } else {
                 $pbarStatus['bgResponse'] = $outputJson;
                 $pbarStatus['bgError'] = file_get_contents('./temp/' . $_REQUEST['outputFile'] . '.err');
                 $pbarStatus['bgError'] = preg_replace('#^(PHP )?Deprecated: .*$#m', '', $pbarStatus['bgError']);
                 //ignore errors from deprecated php.ini settings
                 $pbarStatus['bgError'] = trim($pbarStatus['bgError']);
             }
         }
     }
     echo Zend_Json::encode($pbarStatus);
     exit;
 }
コード例 #2
0
 public function statusAction()
 {
     $allProcesses = Kwf_Util_Process::getRunningProcesses();
     $webProcesses = Kwf_Util_Process::getRunningWebProcesses();
     foreach ($this->_commands as $requiredCmd) {
         $found = false;
         foreach ($webProcesses as $p) {
             if ($p['cmd'] == $requiredCmd['cmd']) {
                 $found = true;
                 echo "[{$p['pid']}] " . Kwf_View_Helper_FileSize::fileSize($p['memory']) . " {$p['prettyTime']} {$p['cmd']}\n";
                 foreach ($p['childPIds'] as $pid) {
                     $cp = $allProcesses[$pid];
                     echo "  [{$cp['pid']}] " . Kwf_View_Helper_FileSize::fileSize($cp['memory']) . " {$cp['prettyTime']} {$cp['cmd']}\n";
                 }
             }
         }
         if (!$found) {
             echo "NOT RUNNING: {$requiredCmd['cmd']}\n";
         }
     }
     exit;
 }