/** * Handles the message * * @param MultipartMessage $message * @param string $identity */ public function handleMessage(MultipartMessage $message, $identity) { // Return reply to client if it's not a control message if ($message->parts() == 1) { if ($message->address() == "READY") { $this->queue->deleteWorker($identity); $this->queue->appendWorker($identity, $this->config->getInterval(), $this->config->getLiveness()); $this->logger->info("Worker connected!", array($identity)); } elseif ($message->address() == 'HEARTBEAT') { $this->logger->info("Got heartbeat from worker!", array($identity)); $this->queue->refreshWorker($identity, $this->config->getInterval(), $this->config->getLiveness()); } else { $this->logger->error("Invalid message from worker!", array($identity, $message->__toString())); } } else { $message->setSocket($this->clientChannel)->send(); $this->queue->appendWorker($identity, $this->config->getInterval(), $this->config->getLiveness()); } }