Added standalone test
This commit is contained in:
parent
0f96c0ce60
commit
d409969f17
1 changed files with 28 additions and 6 deletions
|
@ -10,14 +10,16 @@ use TamerLib\tm;
|
||||||
|
|
||||||
// Start as client mode, if no configuration is passed on then
|
// Start as client mode, if no configuration is passed on then
|
||||||
// Tamer will spawn its own Redis server and use it.
|
// Tamer will spawn its own Redis server and use it.
|
||||||
tm::initalize(TamerMode::CLIENT, new ServerConfiguration('127.0.0.1', 6379, null, 0));
|
tm::initalize(TamerMode::CLIENT);
|
||||||
tm::createWorker(12);
|
tm::createWorker(20, __DIR__ . DIRECTORY_SEPARATOR . 'worker.php');
|
||||||
|
|
||||||
$total_sleep = 0;
|
$total_sleep = 0;
|
||||||
$start_time = time();
|
$start_time = time();
|
||||||
|
$jobs = [];
|
||||||
|
|
||||||
// Start doing programming!
|
// Start doing programming!
|
||||||
// Loop 30 times, each time we will do a job
|
// Loop 2 times, each time we will do a sleep job
|
||||||
for($i = 0; $i < 30; $i++)
|
for($i = 0; $i <= 2; $i++)
|
||||||
{
|
{
|
||||||
$sleep_time = random_int(5, 10);
|
$sleep_time = random_int(5, 10);
|
||||||
$total_sleep += $sleep_time;
|
$total_sleep += $sleep_time;
|
||||||
|
@ -27,14 +29,34 @@ use TamerLib\tm;
|
||||||
|
|
||||||
// Log the result
|
// Log the result
|
||||||
print(sprintf('Created task %s', $job_id) . PHP_EOL);
|
print(sprintf('Created task %s', $job_id) . PHP_EOL);
|
||||||
|
$jobs[$job_id] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop 200 times, each time we will do a Pi calculation job
|
||||||
|
for($i = 0; $i < 200; $i++)
|
||||||
|
{
|
||||||
|
$iterations = random_int(100000, 1000000);
|
||||||
|
|
||||||
|
/** @noinspection PhpUndefinedMethodInspection */
|
||||||
|
$job_id = tm::calculate_pi($iterations);
|
||||||
|
|
||||||
|
// Log the result
|
||||||
|
print(sprintf('Created task %s', $job_id) . PHP_EOL);
|
||||||
|
$jobs[$job_id] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
print('Waiting for jobs to finish...' . PHP_EOL);
|
print('Waiting for jobs to finish...' . PHP_EOL);
|
||||||
|
|
||||||
// Wait for all jobs to finish
|
// Wait for all jobs to finish
|
||||||
tm::wait(function($job_id, $return){
|
tm::wait(static function ($job_id, $result) use (&$jobs) {
|
||||||
print(sprintf('Task %s finished with return value %s', $job_id, $return) . PHP_EOL);
|
print(sprintf('Job %s finished with result %s', $job_id, $result) . PHP_EOL);
|
||||||
|
$jobs[$job_id] = $result;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Finally do some fancy calling
|
||||||
|
|
||||||
|
|
||||||
|
var_dump($jobs);
|
||||||
|
|
||||||
print(sprintf('Total sleep time: %s', $total_sleep) . PHP_EOL);
|
print(sprintf('Total sleep time: %s', $total_sleep) . PHP_EOL);
|
||||||
print(sprintf('Total execution time: %s', time() - $start_time) . PHP_EOL);
|
print(sprintf('Total execution time: %s', time() - $start_time) . PHP_EOL);
|
Loading…
Add table
Reference in a new issue