Пример #1
0
 public function actionCreate()
 {
     $href = '';
     $name = '';
     $command = '';
     if (isset($_POST['DevSettingsProcessManagerPopUp'])) {
         $cmd = $_POST['DevSettingsProcessManagerPopUp'];
         $file = end(explode("=", $_POST['processFile']));
         $prefix = Helper::explodeFirst("-", Helper::camelToSnake(Helper::explodeLast(".", $file)));
         //Creating unique id for setting
         $id = ProcessHelper::createSettingsId($cmd['processName']);
         Setting::set("process." . $id . ".name", $cmd['processName']);
         Setting::set("process." . $id . ".command", $prefix . " " . $cmd['processCommand']);
         Setting::set("process." . $id . ".period", $cmd['processPeriod']);
         Setting::set("process." . $id . ".periodType", $cmd['processPeriodType']);
         Setting::set("process." . $id . ".periodCount", ProcessHelper::periodConverter($cmd['processPeriod'], $cmd['processPeriodType']));
         // Default process value
         Setting::set("process." . $id . ".lastRun", null);
         Setting::set("process." . $id . ".isStarted", false);
         Setting::set("process." . $id . ".pid", null);
         Setting::set("process." . $id . ".file", $file);
         Setting::set("process." . $id . ".runOnce", false);
         $href = Yii::app()->createUrl("dev/processManager/update", ["id" => $id, "active" => $file]);
     }
     $this->renderForm('settings.DevSettingsProcessManagerPopUp', null, ['href' => $href], ['layout' => '//layouts/blank']);
 }
Пример #2
0
 public static function run($name, $command, $runOnce = TRUE)
 {
     if (!ProcessHelper::isPMRunning()) {
         return false;
     }
     $pid = [];
     $process = ProcessHelper::getProcessCommand();
     $id = ProcessHelper::createSettingsId($name);
     chdir(Yii::getPathOfAlias('application'));
     exec($process . ' run ' . $command, $pid);
     if (!empty($pid)) {
         # Default value of Processes
         Setting::set("process." . $id . ".name", $name);
         Setting::set("process." . $id . ".command", $command);
         Setting::set("process." . $id . ".period", null);
         Setting::set("process." . $id . ".periodType", null);
         Setting::set("process." . $id . ".periodCount", null);
         Setting::set("process." . $id . ".lastRun", time());
         Setting::set("process." . $id . ".isStarted", true);
         Setting::set("process." . $id . ".pid", $pid[0]);
         Setting::set("process." . $id . ".file", null);
         Setting::set("process." . $id . ".runOnce", $runOnce);
         return $pid[0];
     } else {
         return false;
     }
 }