����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/vendor/pda/pheanstalk/src/Command/ |
Upload File : |
<?php
namespace Pheanstalk\Command;
use Pheanstalk\Contract\ResponseInterface;
use Pheanstalk\Contract\ResponseParserInterface;
use Pheanstalk\Exception;
use Pheanstalk\Response\ArrayResponse;
/**
* The 'peek', 'peek-ready', 'peek-delayed' and 'peek-buried' commands.
*
* The peek commands let the client inspect a job in the system. There are four
* variations. All but the first (peek) operate only on the currently used tube.
*/
class PeekCommand extends AbstractCommand implements ResponseParserInterface
{
const TYPE_ID = 'id';
const TYPE_READY = 'ready';
const TYPE_DELAYED = 'delayed';
const TYPE_BURIED = 'buried';
private const SUBCOMMANDS = [
self::TYPE_READY,
self::TYPE_DELAYED,
self::TYPE_BURIED,
];
/**
* @var string
*/
private $subcommand;
public function __construct(string $peekSubject)
{
if (in_array($peekSubject, self::SUBCOMMANDS)) {
$this->subcommand = $peekSubject;
} else {
throw new Exception\CommandException(sprintf(
'Invalid peek subject: %s',
$peekSubject
));
}
}
public function getCommandLine(): string
{
return sprintf('peek-%s', $this->subcommand);
}
public function parseResponse(string $responseLine, ?string $responseData): ArrayResponse
{
if ($responseLine == ResponseInterface::RESPONSE_NOT_FOUND) {
return $this->createResponse(ResponseInterface::RESPONSE_NOT_FOUND);
}
if (preg_match('#^FOUND (\d+) \d+$#', $responseLine, $matches)) {
return $this->createResponse(
ResponseInterface::RESPONSE_FOUND,
[
'id' => (int) $matches[1],
'jobdata' => $responseData,
]
);
}
throw new Exception\ServerException("Unexpected response");
}
}