Example #1
0
 public function testJobsGlobalAndNameAllBranches()
 {
     $conf = array();
     $conf['jobs']['*']['*'] = array('do');
     $conf['jobs']['jquery.slim_time']['*'] = array('re');
     $conf['jobs']['jquery.running_clock']['*'] = array('mi');
     $obj = new Config($conf);
     $obj->setName('jquery.slim_time');
     $control = array('do', 're');
     $this->assertSame($control, $obj->getJobs());
     $obj->setName('jquery.running_clock');
     $control = array('do', 'mi');
     $this->assertSame($control, $obj->getJobs());
 }
Example #2
0
 public static function run($worker_id, $data)
 {
     $jobs = Config::getJobs();
     $job =& $jobs[$worker_id];
     if ($job === null) {
         var_dump($worker_id);
         return false;
     }
     $builder = new \DI\ContainerBuilder();
     // $builder->setDefinitionCache(new Doctrine\Common\Cache\RedisCache());
     $builder->writeProxiesToFile(true, 'tmp/proxies');
     // $builder->useAutowiring(false);
     $builder->useAnnotations(false);
     $builder->addDefinitions('diconfig.php');
     $container = $builder->build();
     // $dependencies = &$job['dependencies'];
     //
     // if ($dependencies !== null) {
     //     $dependencies_classes = explode(',',$dependencies);
     //     foreach($dependencies_classes  as $class) {
     //         $depend_jober = new $class($params);
     //         $params = $depend_jober->run();
     //         if ($params === false) {
     //             return false;
     //         }
     //     }
     // }
     $retries =& $job['retries'];
     $job_params =& $job['params'];
     $class =& $job['class'];
     $exec_count = 0;
     do {
         $result = $container->get($class)->run($data, $job_params);
         $exec_count++;
     } while ($result === false && $exec_count < $retries);
     if ($result === false) {
         $notify = Config::getNotify();
         switch ($notify['dispatch_mode']) {
             case 1:
                 break;
             case 2:
                 break;
         }
     }
 }
Example #3
0
        $data->setBranch($_GET['branch']);
    } elseif (isset($_GET['ref'])) {
        $data->setBranch($_GET['ref']);
    }
    if (isset($_GET['repo'])) {
        $data->setRepoName($_GET['repo']);
    }
    $config = new Config($conf);
    $config->setBranch($data->getBranch())->setName($data->getRepoName());
    $log->append('origin user: '******'repo: ' . $data->getRepoName());
    $log->append('branch: ' . $data->getBranch());
    $total_added = 0;
    if (!($jobs = $conf['jobber']->getJobsFileHandle('a'))) {
        $log->append('Invalid log configuration.');
    } elseif ($jobs && ($commands = $config->getJobs())) {
        foreach ($commands as $cmd) {
            fwrite($jobs, $cmd . PHP_EOL);
            $log->header();
            ++$total_added;
        }
    }
    fclose($jobs);
    if ($total_added) {
        $log->append('jobs added: ' . $total_added);
    }
} else {
    header("HTTP/1.0 401 Access Denied");
    $log->append('401: Access Denied');
}
$log->close();