Beispiel #1
0
 public static function createTask($rule, $user = null, $id = null, $running_user = null)
 {
     /*{{{*/
     $task = false;
     try {
         $rule = trim($rule);
         $task = new CronTask($rule);
         $task->user = $user;
         $task->id = $id;
         if ($running_user) {
             $task->running_user = $running_user;
         }
     } catch (CronException $ce) {
         CronLogger::err($ce->getMessage() . "\n" . $ce->getTraceAsString());
         $task = false;
     }
     return $task;
 }
Beispiel #2
0
 private function daemonize()
 {
     /*{{{*/
     global $daemon;
     $daemon = true;
     $pid = pcntl_fork();
     if ($pid) {
         exit(0);
     } else {
         if ($pid < 0) {
             CronLogger::err("Fork failed\n");
             exit(1);
         }
     }
     chdir(dirname(__FILE__));
     $sid = posix_setsid();
     if (!$sid) {
         CronLogger::err("Set sid failed\n");
         exit(1);
     }
     if (!$this->createPidFile()) {
         return false;
     }
     fclose(STDIN);
     fclose(STDOUT);
     fclose(STDERR);
     global $STDOUT;
     global $STDERR;
     $STDOUT = fopen('/dev/null', 'w');
     $STDERR = $STDOUT;
     return true;
 }