Example #1
0
$container = new IONContainer($CONFIG);
$reg_1_id = $susi->registerProcessor("test_controller", function (&$event) use($susi, $container) {
    if (isset($event["data"]["payload"])) {
        $event["data"]["payload"]["test1"] = "ok";
    }
});
$reg_2_id = $susi->registerProcessor("test_controller", function (&$event) use($susi, $container) {
    if (isset($event["data"]["payload"])) {
        $event["data"]["payload"]["test2"] = "ok";
    }
    $susi->publish("lala", array("PUP" => "FROM P2"), function ($event) use($susi, $container) {
        echo "finished \n";
    });
});
echo "unregister " . $reg_1_id . " ";
echo $susi->unregisterProcessor($reg_1_id);
echo $susi->unregisterProcessor($reg_2_id);
// should fail
//echo "unregister ".$reg_1_id. " ";
//echo $susi->unregisterConsumer($reg_1_id);
/*
$susi->registerConsumer("php_controller",
	// callback
		function($event) use($susi,$container) {
			echo "PHP CONSUMER CALLBACK";
		$data = $event["data"];			
		if(isset($data["payload"])) {
				$data["payload"]["consumer"] = "ok";
			}			
		}
	);
Example #2
0
$c1 = $susi->registerConsumer("test_event", function (&$event) use($susi) {
    echo "consumer handler called ";
    $data = $event->getData();
    // test event data
    if (isset($data["payload"]["test_payload"]) && $data["payload"]["test_payload"] == "ok1_ok2" && count($data["headers"]) == 3) {
        echo "OK \n";
    } else {
        echo "FAILED \n";
    }
});
$GLOBALS['test_starter_id'] = $susi->registerProcessor("heartbeat::five", function (&$event) use($susi, $p1, $p2, $c1) {
    echo "Start Test \n";
    // Publish Event
    $evt = new Event("test_event", array("number" => 1), array(array("header_info" => "en_en")));
    $susi->publish($evt, function ($event) use($susi, $p1, $p2, $c1) {
        echo "Test Finished Callback called >>> ";
        print_r($event->getData());
        // remove events
        $susi->unregisterProcessor($p1);
        $susi->unregisterProcessor($p2);
        $susi->unregisterConsumer($c1);
        // use this
        $susi->unregisterProcessor($GLOBALS['test_starter_id']);
        // or stop test with
        // exit(0);
    });
});
/*
 * start Susi
 */
$susi->run();