runAll
void Worker::runAll(void)
সব Worker ইনস্ট্যান্স চালান।
অর্থাৎ:
Worker::runAll() চালানোর পর এটি স্থায়ীভাবে ব্লক করবে, অর্থাৎ Worker::runAll() এর পরের কোডটি এক্সিকিউট হবে না। সব Worker ইনস্ট্যান্স সৃষ্টি Worker::runAll() এর আগে করতে হবে।
প্যারামিটার
কোন প্যারামিটার নেই
রিটার্ন ভ্যালু
কোন রিটার্ন নেই
উদাহরণ একাধিক Worker ইনস্ট্যান্স পরিচালনা
start.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello http');
};
$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello websocket');
};
// সব Worker ইনস্ট্যান্স চালান
Worker::runAll();
অর্থাৎ:
windows সংস্করণের workerman একটি ফাইলে একাধিক Worker ইনস্ট্যান্স তৈরি সমর্থন করে না।
উপরের উদাহরণটি windows সংস্করণের workerman এ চলবে না।
windows সংস্করণের workerman কে একাধিক Worker ইনস্ট্যান্সের প্রাথমিককরণ আলাদা ফাইলে করতে হবে, নিচের মতো
start_http.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello http');
};
// সব Worker ইনস্ট্যান্স চালান(এখানে মাত্র একটি ইনস্ট্যান্স আছে)
Worker::runAll();
start_websocket.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello websocket');
};
// সব Worker ইনস্ট্যান্স চালান(এখানে মাত্র একটি ইনস্ট্যান্স আছে)
Worker::runAll();