From d409969f179ca4cbd894038d6ae739d9e139ccdf Mon Sep 17 00:00:00 2001 From: Netkas Date: Fri, 16 Jun 2023 02:07:51 -0400 Subject: [PATCH] Added standalone test --- tests/tamer_standalone.php | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/tests/tamer_standalone.php b/tests/tamer_standalone.php index 9af66ee..bf35e27 100644 --- a/tests/tamer_standalone.php +++ b/tests/tamer_standalone.php @@ -10,14 +10,16 @@ use TamerLib\tm; // Start as client mode, if no configuration is passed on then // Tamer will spawn its own Redis server and use it. - tm::initalize(TamerMode::CLIENT, new ServerConfiguration('127.0.0.1', 6379, null, 0)); - tm::createWorker(12); + tm::initalize(TamerMode::CLIENT); + tm::createWorker(20, __DIR__ . DIRECTORY_SEPARATOR . 'worker.php'); $total_sleep = 0; $start_time = time(); + $jobs = []; + // Start doing programming! - // Loop 30 times, each time we will do a job - for($i = 0; $i < 30; $i++) + // Loop 2 times, each time we will do a sleep job + for($i = 0; $i <= 2; $i++) { $sleep_time = random_int(5, 10); $total_sleep += $sleep_time; @@ -27,14 +29,34 @@ use TamerLib\tm; // Log the result 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); // Wait for all jobs to finish - tm::wait(function($job_id, $return){ - print(sprintf('Task %s finished with return value %s', $job_id, $return) . PHP_EOL); + tm::wait(static function ($job_id, $result) use (&$jobs) { + 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 execution time: %s', time() - $start_time) . PHP_EOL); \ No newline at end of file