Changeset 38 for trunk/www/task.php


Ignore:
Timestamp:
Jun 16, 2009, 5:26:23 PM (15 years ago)
Author:
george
Message:
  • Opraveno: Odemčení serveru při dokončení zálohování.
  • Upraveno: Uchovávej v databázi standardní výstup a chybový výstup prováděných úloh.
  • Přidáno: Rozpracovaná třída pro záznam informací pro potřeby grafů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/task.php

    r35 r38  
    2525    $DbResult = $this->Database->query('SELECT * FROM Task WHERE State = 0 ORDER BY Id,TimeCreate ASC');
    2626    $this->Database->query('UPDATE Task SET State=2 WHERE State=1'); // Change not finished running tasks to finished
     27    $this->Database->query('UPDATE Task SET TimeEnd=NOW() WHERE State=2'); // Set end time to finished tasks
    2728    while($Task = $DbResult->fetch_assoc())
    2829    {
     
    3233      file_put_contents($this->TempScript, $Task['CommandList']);
    3334      chmod($this->TempScript, 0755);
    34       //passthru($this->TempScript, $Output);
    35       exec($this->TempScript, $Output);
    36       $Output = implode("\n", $Output);
    37       echo($Output);
     35      exec($this->TempScript.' >'.$this->TempScript.'.log 2>'.$this->TempScript.'.err');
     36      $StdOut = file_get_contents($this->TempScript.'.log');
     37      unlink($this->TempScript.'.log');
     38      $StdErr = file_get_contents($this->TempScript.'.err');
     39      unlink($this->TempScript.'.err');
    3840      echo("Hotovo\n");
    39       $this->Database->query('UPDATE Task SET TimeEnd=NOW(), State=2, Output="'.addslashes($Output).'" WHERE Id='.$Task['Id']);
     41      $this->Database->query('UPDATE `Task` SET `TimeEnd`=NOW(), `State`=2, `Output`="'.addslashes($StdOut).'", `Error`="'.addslashes($StdErr).'" WHERE `Id`='.$Task['Id']);
    4042    }
    4143  }
Note: See TracChangeset for help on using the changeset viewer.