Exemple #1
0
<?php

declare (ticks=1);
require_once __DIR__ . '/../fork_daemon.php';
/* setup forking daemon */
$server = new fork_daemon();
$server->max_children_set(5);
$server->max_work_per_child_set(3);
$server->register_child_run("process_child_run");
$server->register_parent_child_exit("process_child_exit");
$server->register_logging("logger", fork_daemon::LOG_LEVEL_ALL);
test_identifier();
function test_identifier()
{
    global $server;
    $server->child_single_work_item_set(true);
    $server->max_work_per_child_set(1);
    echo "Adding 100 units of work\n";
    /* add work */
    $data_set = array();
    for ($i = 0; $i < 100; $i++) {
        $data_set[] = $i;
    }
    shuffle($data_set);
    $data_set = array_chunk($data_set, 3);
    $i = 0;
    foreach ($data_set as $item) {
        $server->addwork($item, "IDn{$i}");
        $i++;
    }
    echo "Processing work in non-blocking mode\n";