private function createJobDetails(Packet $packet) { if ($packet->getType() === PacketType::JOB_ASSIGN) { $details = new JobDetails($packet->getArgument(1), $packet->getArgument(2), null, null); } else { $details = new JobDetails($packet->getArgument(1), $packet->getArgument(3), $packet->getArgument(2), null); } $details->jobHandle = $packet->getArgument(0); $details->connection = $this->connection; return $details; }
public function __construct(Packet $packet) { $message = sprintf("Error packet received: [%s] %s", $packet->getArgument(0), $packet->getArgument(1)); parent::__construct($message); }
/** * Read a single packet from the gearman server. * * Blocks if no packet is available * * @returns Packet */ public function readPacket() { if (!$this->stream) { $this->connect(); } $header = $this->read(12); $size = substr($header, 8, 4); $size = Packet::fromBigEndian($size); $arguments = $size > 0 ? $this->read($size) : ''; return Packet::fromString($header . $arguments); }
private function updateStatusDetails(Packet $packet) { $handle = $packet->getArgument(0); foreach ($this->statusList as $statusDetails) { if ($statusDetails->jobHandle === $handle) { $statusDetails->isKnown = (bool) (int) $packet->getArgument(1); $statusDetails->isRunning = (bool) (int) $packet->getArgument(2); $statusDetails->numerator = (int) $packet->getArgument(3); $statusDetails->denominator = (int) $packet->getArgument(4); $statusDetails->resultReceived = true; $statusDetails->triggerCallback('complete'); } } }