Пример #1
0
declare (ticks=1);
namespace PHPMD\TextUI;

use CodeClimate\PHPMD\Runner;
error_reporting(E_ERROR | E_PARSE | E_NOTICE);
date_default_timezone_set('UTC');
ini_set('memory_limit', -1);
require_once __DIR__ . '/vendor/autoload.php';
require_once "JSONRenderer.php";
require_once "Runner.php";
require_once "Category.php";
use PHPMD\PHPMD;
use PHPMD\RuleSetFactory;
use PHPMD\Writer\StreamWriter;
use PHPMD\Renderer\JSONRenderer;
// obtain the config
$config = json_decode(file_get_contents('/config.json'), true);
// setup forking daemon
$server = new \fork_daemon();
$server->max_children_set(3);
$server->max_work_per_child_set(50);
$server->store_result_set(true);
$runner = new Runner($config, $server);
$server->register_child_run(array($runner, "run"));
$runner->queueDirectory("/code");
$server->process_work(true);
foreach ($server->get_all_results() as $result_file) {
    echo file_get_contents($result_file);
    unlink($result_file);
}
Пример #2
0
 * end of the child processing
 */
declare (ticks=1);
require_once __DIR__ . '/../fork_daemon.php';
/* setup forking daemon */
$server = new fork_daemon();
$server->max_children_set(100);
$server->max_work_per_child_set(3);
$server->store_result_set(true);
$server->register_child_run("process_child_run");
$server->register_parent_child_exit("process_child_exit");
$server->register_logging("logger", fork_daemon::LOG_LEVEL_ALL);
// no callback with this method since we check results at the end
test_nonblocking();
// since deferred results, check at the end
$results = $server->get_all_results();
var_dump($results);
echo "Sum:   " . array_sum($results) . PHP_EOL;
echo "Count: " . count($results) . PHP_EOL;
function test_nonblocking()
{
    global $server;
    echo "Adding 100 units of work\n";
    /* add work */
    $data_set = array();
    for ($i = 0; $i < 100; $i++) {
        $data_set[] = $i;
    }
    shuffle($data_set);
    $server->addwork($data_set);
    echo "Processing work in non-blocking mode\n";