4 chdir(dirname(__DIR__));
5 date_default_timezone_set('Africa/Johannesburg');
8 require_once 'init_autoloader.php';
11 #-> Our primary workspace for getting stuff done.
16 * @var \React\ZMQ\SocketWrapper
18 static private $mqClient;
24 static public function init()
26 self::$mqClient = (new \ZMQContext())->getSocket(\ZMQ::SOCKET_PUSH, 'WebsocketWorkerPublisher');
27 self::$mqClient->connect("tcp://127.0.0.1:90");
31 * Send broadcast request to socket server.
32 * @param GearmanJob $job
35 static public function broadcast(GearmanJob $job)
37 #-> Instruct socket server to do a broadcast.
38 self::$mqClient->send($job->workload());
46 #-> Get up and running.
49 #-> Register as a gearman worker.
50 $worker = new GearmanWorker();
52 $worker->addFunction('Broadcast', array('Workspace', 'broadcast'));
54 #-> Wait for jobs to come in.
55 while ($worker->work())