How to get all pending jobs in laravel queue on redis?

后端 未结 7 970
抹茶落季
抹茶落季 2020-12-13 10:06

Queue listener was not started on a server, some jobs where pushed (using Redis driver).

How could I count (or get all) theses jobs ? I did not found any artisan co

7条回答
  •  南笙
    南笙 (楼主)
    2020-12-13 10:22

    I am an PHP Laravel dev, 3 years, I have just known these command recently, so shame on me. ;(

    If you are using redis driver for your queue, you can count all remaining jobs by name:

    use Redis;
    
    // List all keys with status (awaiting, reserved, delayed)
    Redis::keys('*');
    
    // Count by name
    $queueName = 'default';
    echo Redis::llen('queues:' . $queueName);
    
    // To count by status:
    echo Redis::zcount('queues:' . $queueName . ':delayed', '-inf', '+inf');
    echo Redis::zcount('queues:' . $queueName . ':reserved', '-inf', '+inf');
    

    To see the result immediately, you can use php artisan tinker and hit Redis::llen('queues:default');.

提交回复
热议问题