Example #1
0
     $cmd .= " >> {$log} 2>&1 & echo \$!";
     // if($debug) echo "dbg: ejecutando comando:\n$cmd\n";
     $pid = trim(shell_exec($cmd));
     $pids[$pid] = $user->id;
     if ($debug) {
         echo "Proceso lanzado con el PID {$pid} para el envio a {$user->email}\n";
     }
 }
 //Espera a que acaben los procesos de envio antes de continuar
 do {
     //espera un segundo
     sleep(1);
     $check_processes = false;
     $processing = array();
     foreach ($pids as $pid => $user_id) {
         if (check_pid($user_id, $pid)) {
             $processing[] = $pid;
             $check_processes = true;
             //hay un proceso activo, habra que esperar
         }
     }
     if ($processing) {
         echo "PIDs " . implode(",", $processing) . " en proceso, esperamos...\n";
     }
 } while ($check_processes);
 $process_time = microtime(true) - $stime;
 $current_rate = round($j / $process_time, 2);
 //No hace falta incrementar la quota de envio pues ya se hace en Mail::Send()
 //$rest = Mail::checkLimit(null, true, $LIMIT);
 if ($debug) {
     echo "Quota de envío restante para hoy: {$rest} emails, Quota diaria para mailing: " . GOTEO_MAIL_SENDER_QUOTA . "\n";
Example #2
0
    }
    $f = @fopen($config['lock_file'], 'r');
    //lock file found
    if ($f) {
        flock($f, LOCK_SH);
        $pid = trim(fgets($f));
        if (posix_getsid($pid)) {
            die('hellaVCR is already running! (pid ' . $pid . ' from ' . $config['lock_file'] . ")\n");
        }
        fclose($f);
    }
    //write pid file
    $f = fopen($config['lock_file'], 'w');
    flock($f, LOCK_EX);
    fwrite($f, posix_getpid() . "\n");
    fclose($f);
    $config['pid_files'][] = $config['lock_file'];
}
//
function send_prowl($event, $description)
{
    global $config, $prowl;
    $prowl->push(array('application' => 'hellaVCR', 'event' => $event, 'description' => $description, 'priority' => $config['prowl_priority']), true);
    return $prowl->getError();
}
##### main call
if (empty($hellavcr_include)) {
    register_shutdown_function('clean_pid');
    check_pid();
    process_tv();
}