sms erros on pin reset
[namibia] / workers / Workspace.php
1 <?php
2
3 #-> Root ourselves.
4 chdir(dirname(__DIR__));
5 date_default_timezone_set('Africa/Johannesburg');
6
7 #-> Bootstrap.
8 require_once 'init_autoloader.php';
9
10
11 #-> Our primary workspace for getting stuff done.
12 class Workspace
13 {
14
15         /**
16          * @var \React\ZMQ\SocketWrapper
17          */
18         static private $mqClient;
19
20
21         /**
22          * Initialize.
23          */
24         static public function init()
25         {
26                 self::$mqClient = (new \ZMQContext())->getSocket(\ZMQ::SOCKET_PUSH, 'WebsocketWorkerPublisher');
27                 self::$mqClient->connect("tcp://127.0.0.1:90");
28         }
29
30         /**
31          * Send broadcast request to socket server.
32          * @param  GearmanJob $job
33          * @return null
34          */
35         static public function broadcast(GearmanJob $job)
36         {
37                 #-> Instruct socket server to do a broadcast.
38                 self::$mqClient->send($job->workload());
39         }
40
41
42 }
43
44
45
46 #-> Get up and running.
47 Workspace::init();
48
49 #-> Register as a gearman worker.
50 $worker = new GearmanWorker();
51 $worker->addServer();
52 $worker->addFunction('Broadcast', array('Workspace', 'broadcast'));
53
54 #-> Wait for jobs to come in.
55 while ($worker->work())
56 {
57         ;
58 }
59