コード例 #1
0
ファイル: Master.php プロジェクト: hellogerard/pox-framework
// Be sure that the crontab schedule corresponds to the Slave::RUN_INTERVAL
// constant.
//
// */2 * * * * cd /path/to/this/file; php Master.php 1>> cron.out 2>&1; cd $HOME
//
class Master
{
    public function crackwhip()
    {
        if (!file_exists("jobs")) {
            exit;
        }
        $jobs = scandir("jobs");
        foreach ($jobs as $job) {
            if (strpos($job, ".") !== false) {
                continue;
            }
            chdir("jobs/{$job}");
            // from http://us3.php.net/manual/en/function.exec.php#43834
            if (strncasecmp(PHP_OS, "Win", 3) == 0) {
                pclose(popen("start \"blah\" /B \"php.exe\" ../../Slave.php {$job}", "r"));
            } else {
                exec("php ../../Slave.php {$job} 1> /dev/null 2>&1 &");
            }
            chdir("../..");
        }
    }
}
$master = new Master();
$master->crackwhip();