[REDIS] 어떻게 레디 스에 laravel 큐에 대기중인 모든 작업을 얻으려면?
REDIS어떻게 레디 스에 laravel 큐에 대기중인 모든 작업을 얻으려면?
큐 리스너가 서버에서 시작되지 않은, (레디 스 드라이버를 사용하여) 밀어 몇 가지 작업.
어떻게 계산 (또는 모든 수) 논문 작업을 수 있을까? 이 정보를 얻을 수있는 장인 명령을 발견하지 않았다.
해결법
-
==============================
1.아직 여기에 대한 답변을 찾는 사람이 방법이라면 나는 그것을 할 :
아직 여기에 대한 답변을 찾는 사람이 방법이라면 나는 그것을 할 :
$connection = null; $default = 'default'; //For the delayed jobs var_dump( \Queue::getRedis()->connection($connection)->zrange('queues:'.$default.':delayed' ,0, -1) ); //For the reserved jobs var_dump( \Queue::getRedis()->connection($connection)->zrange('queues:'.$default.':reserved' ,0, -1) );
$ 연결은 널 (null)이 기본적으로 인 레디 스 연결 이름이며, $ 큐는 '기본'디폴트로 큐 / 튜브의 이름입니다!
-
==============================
2.Laravel 5.3 이후 당신은 단순히 큐 :: 크기를 사용할 수 있습니다 () (PR 참조).
Laravel 5.3 이후 당신은 단순히 큐 :: 크기를 사용할 수 있습니다 () (PR 참조).
-
==============================
3.또한이 작업을 수행하여 레디 스 외관에 직접 사용할 수 있습니다 :
또한이 작업을 수행하여 레디 스 외관에 직접 사용할 수 있습니다 :
use Redis; \Redis::lrange('queues:$queueName', 0, -1);
Laravel 5.6에서 테스트를 제외한 모든 5.x를 위해 일한다
-
==============================
4.난 그냥, 최근에 이러한 명령을 알고, PHP Laravel dev에 3 년 안함 나에 대한 수치심 때문에. (
난 그냥, 최근에 이러한 명령을 알고, PHP Laravel dev에 3 년 안함 나에 대한 수치심 때문에. (
당신이 당신의 큐의 레디 스 드라이버를 사용하는 경우, 당신은 이름으로 남아있는 모든 작업을 셀 수 :
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');
즉시 결과를 확인하려면, 당신은 PHP는 장인 어설프게을 사용 레디 스는 :: ( '큐 : 기본') llen 칠 수 ;.
-
==============================
5.당신은 수평선을 설치할 수 있습니다. Laravel 호라이즌은 큐를 모니터링하기위한 대시 보드를 제공하고, 당신이 당신의 큐에 더 많은 구성을 수행 할 수 있습니다.
당신은 수평선을 설치할 수 있습니다. Laravel 호라이즌은 큐를 모니터링하기위한 대시 보드를 제공하고, 당신이 당신의 큐에 더 많은 구성을 수행 할 수 있습니다.
composer require laravel/horizon php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
당신은 .env의 설정 파일 및 설정 / horizon.php 파일을 설정해야합니다.
Laravel 5.6 테스트
-
==============================
6.사람은 여전히 Laravel의 이전 버전에 대한 접근 방법을 찾고 있다면 :
사람은 여전히 Laravel의 이전 버전에 대한 접근 방법을 찾고 있다면 :
$connection = 'queue'; $queueName = 'default'; $totalQueuedLeads = Redis::connection($connection)->zcount('queues:'.$queueName.':delayed' , '-inf', '+inf');
from https://stackoverflow.com/questions/35412779/how-to-get-all-pending-jobs-in-laravel-queue-on-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스에서 여러 키 값 가져 오기 (0) | 2020.01.05 |
---|---|
[REDIS] 봄 레디 스 오류 핸들 (0) | 2020.01.05 |
[REDIS] 어떻게 스케일 Node.js를 웹 소켓 레디 스 서버에? (0) | 2020.01.05 |
[REDIS] C에서 # StackExchange / 센티넬와 레디 스 페일 오버 (0) | 2020.01.05 |
[REDIS] StackExchange.Redis와 레디 스의 KEYSPACE 알림 (0) | 2020.01.04 |