获取已排队作业的总数laravel-RabbitMQ


get total number of queued jobs laravel -- RabbitMQ

对于Laravel来说,我使用的是RabbitMQ,所以,我想要的是在一些特定的queue中获得queued jobs的总数。

这是我的连接详细信息

RABBITMQ_HOST=Server
RABBITMQ_PORT=5672
RABBITMQ_VHOST=/
RABBITMQ_LOGIN=user
RABBITMQ_PASSWORD=password
RABBITMQ_QUEUE=testQueue
RABBITMQ_EXCHANGE_NAME=testExchnge

任何线索,或指向某个教程以获得总的排队作业。

感谢

对于任何其他正在寻找相同东西的人,都找到了解决方案。希望这会有所帮助。

我找到了不错的Rrabbit MQ HTTP API。那里有很多端点。

要从Queues获取消息,这里是我的代码。

//laravel[lumen] based code.
public function loadQueueStats()
{
    $url = "http://" . env('RABBITMQ_HOST', '127.0.0.1') . ":" . env('RABBITMQ_PORT', 15672) . "/api/queues";
    $username = env('RABBITMQ_LOGIN', 'guest');
    $password = env('RABBITMQ_PASSWORD', 'guest');
    $response = $this->guzzle->get(
        $url,
        [
            'auth' => [
                $username,
                $password
            ],
        ]
    );
    return $response->json();
}

但是获取特定队列呢?

喜欢;/api/queues/vhost/name/get-

可接受的参数如下:;

{"count":5,"ackmode":"ack_requeue_true","encoding":"auto","truncate":50000}