/** * Run ZMQ interface for generator. * * Req-rep pattern; msgs are commands: * * GEN = Generate ID * STATUS = Get status string */ public function run() { $receiver = $this->getZmqSocket($this->dsn); while (true) { $msg = $receiver->recv(); if ($msg !== false) { $this->logger->debug('ZMQ server received command: ' . $msg); $response = $this->runCommand($msg); $receiver->send(json_encode($response)); } $this->generator->heartbeat(); if ($this->debugMode) { break; } } }