PATH:
opt
/
alt
/
tests
/
alt-php82-pecl-gearman_2.1.4-1.el8
/
tests
--TEST-- --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifconnect.inc'); ?> --FILE-- <?php $host = 'localhost'; $port = '4730'; $job_name = uniqid(); $pid = pcntl_fork(); if ($pid == -1) { die("Could not fork"); } else if ($pid > 0) { // Parent. This should be the Worker $worker = new GearmanWorker(); $worker->addServer($host, $port); print "addFunction: " . var_export( $worker->addFunction( $job_name, function($job) { print "workload: " . var_export($job->workload(), true) . PHP_EOL; } ), true ) . PHP_EOL; for($i=0; $i<6; $i++) { $worker->work(); } print "unregister: " . var_export($worker->unregister($job_name), true) . PHP_EOL; // Wait for child $exit_status = 0; if (pcntl_wait($exit_status) <= 0) { print "pcntl_wait exited with error" . PHP_EOL; } else if (!pcntl_wifexited($exit_status)) { print "child exited with error" . PHP_EOL; } print "OK" . PHP_EOL; } else { // Child. This is the Client $client = new GearmanClient(); $client->addServer($host, $port); $job_types = ['doNormal', 'doHigh', 'doLow']; foreach ($job_types as $job_type) { $unique_key = "{$job_name}_{$job_type}"; $workload = "Workload for $job_type"; $handle = $client->$job_type($job_name, $workload, $unique_key); } // Background jobs can run into a race condition if they complete out of // order $job_types = ['doBackground', 'doHighBackground', 'doLowBackground']; foreach ($job_types as $job_type) { $unique_key = "{$job_name}_{$job_type}"; $workload = "Workload for $job_type"; $handle = $client->$job_type($job_name, $workload, $unique_key); do { usleep(10000); list($is_known, $is_running, $numerator, $denominator) = $client->jobStatus($handle); } while ($is_known === true || $is_running === true); } } ?> --EXPECT-- addFunction: true workload: 'Workload for doNormal' workload: 'Workload for doHigh' workload: 'Workload for doLow' workload: 'Workload for doBackground' workload: 'Workload for doHighBackground' workload: 'Workload for doLowBackground' unregister: true OK
[-] gearman_worker_012.phpt
[edit]
[-] gearman_job_integration_test_005.phpt
[edit]
[-] gearman_tasks_integration_test_001.phpt
[edit]
[-] gearman_client_009.phpt
[edit]
[-] gearman_client_011.phpt
[edit]
[-] gearman_client_021.phpt
[edit]
[-] gearman_client_020.phpt
[edit]
[-] gearman_task_004.phpt
[edit]
[-] gearman_worker_007.phpt
[edit]
[-] gearman_job_integration_test_003.phpt
[edit]
[-] gearman_job_integration_test_006.phpt
[edit]
[-] gearman_client_019.phpt
[edit]
[-] gearman_client_007.phpt
[edit]
[-] gearman_client_022.phpt
[edit]
[-] gearman_worker_006.phpt
[edit]
[-] gearman_client_001.phpt
[edit]
[-] gearman_client_012.phpt
[edit]
[-] gearman_worker_008.phpt
[edit]
[-] gearman_task_006.phpt
[edit]
[-] skipifconnect.inc
[edit]
[-] gearman_client_002.phpt
[edit]
[-] gearman_task_001.phpt
[edit]
[-] gearman_worker_002.phpt
[edit]
[-] gearman_client_005.phpt
[edit]
[-] gearman_worker_013.phpt
[edit]
[-] gearman_job_integration_test_007.phpt
[edit]
[-] gearman_job_001.phpt
[edit]
[-] gearman_job_integration_test_001.phpt
[edit]
[-] gearman_worker_015.phpt
[edit]
[-] gearman_client_004.phpt
[edit]
[-] gearman_worker_014.phpt
[edit]
[-] gearman_client_integration_test_001.phpt
[edit]
[-] gearman_client_014.phpt
[edit]
[-] gearman_client_003.phpt
[edit]
[-] gearman_task_005.phpt
[edit]
[-] gearman_worker_005.phpt
[edit]
[-] gearman_worker_003.phpt
[edit]
[-] gearman_client_010.phpt
[edit]
[-] gearman_worker_016.phpt
[edit]
[-] gearman_job_integration_test_010.phpt
[edit]
[-] gearman_client_006.phpt
[edit]
[+]
..
[-] gearman_worker_001.phpt
[edit]
[-] connect.inc
[edit]
[-] gearman_worker_010.phpt
[edit]
[-] gearman_client_integration_test_002.phpt
[edit]
[-] gearman_client_017.phpt
[edit]
[-] gearman_task_003.phpt
[edit]
[-] gearman_client_016.phpt
[edit]
[-] gearman_worker_011.phpt
[edit]
[-] gearman_tasks_integration_test_002.phpt
[edit]
[-] gearman_job_integration_test_002.phpt
[edit]
[-] gearman_client_008.phpt
[edit]
[-] skipifversion.inc
[edit]
[-] gearman_client_018.phpt
[edit]
[-] gearman_task_002.phpt
[edit]
[-] gearman_worker_004.phpt
[edit]
[-] gearman_job_integration_test_008.phpt
[edit]
[-] gearman_001.phpt
[edit]
[-] gearman_job_002.phpt
[edit]
[-] gearman_worker_integration_test_001.phpt
[edit]
[-] gearman_job_003.phpt
[edit]
[-] gearman_worker_017.phpt
[edit]
[-] gearman_002.phpt
[edit]
[-] gearman_job_integration_test_009.phpt
[edit]
[-] skipif.inc
[edit]
[-] gearman_client_013.phpt
[edit]
[-] gearman_worker_009.phpt
[edit]
[-] gearman_job_integration_test_004.phpt
[edit]
[-] gearman_client_015.phpt
[edit]