1. Go to this page and download the library: Download yidas/worker-dispatcher library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yidas / worker-dispatcher example snippets
\yidas\WorkerDispatcher::run([
'tasks' => ["R4NEJ1", "F5KH83", "..."],
'callbacks' => [
// The callback is for each forked process with decentralized tasks
'task' => function ($config, $workderId, $task) {
// $task is one of the `tasks` assigned to each worker, ex. "F5KH83" for $workderId is 2
$token = $task;
$result = file_get_contents("https://example/v1/register-by-token/{$token}");
},
],
]);
\yidas\WorkerDispatcher::run([
'tasks' => false,
'callbacks' => [
// The callback is for each forked process
'process' => function ($config, $workderId, $task) {
// Get and handle each job from queue in inifite loop (You need to define your own function)
while (true) {
$result = handleOneJobFromQueue();
if ($result === null) {
break;
}
}
},
],
]);
use yidas\WorkerDispatcher;
\yidas\WorkerDispatcher::run([
'debug' => true,
'workers' => 4,
'config' => ['uri' => "/v1/resource"],
'tasks' => ["R4NEJ1", "F5KH83", "..."],
'callbacks' => [
'process' => function ($config, $workerId, $tasks) {
echo "The number of tasks in forked process - {$workerId}: " . count($tasks[$workerId - 1]) . "\n";
},
'task' => function ($config, $workerId, $task) {
echo "Forked process - {$workerId}: Request to {$config['uri']} with token {$task}\n";
},
],
]);
function (multitype $config, integer $workerId, array $tasks)
function (multitype $config, integer $workerId, multitype $task)
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.