2017-09-25 4 views
0

저는 beanstalkd 대기열에서 작업 상태를 확인해야하는 기능을 연구 중입니다. 나는 몇 가지를 시도했지만 나는 기본값 이외의 큐 예약 된 작업을 받고 있지 않다 이것이 내가 시도 무엇pheanstalk을 사용하여 laravel의 예약 된 작업에서 작업 데이터를 가져 오는 방법은 무엇입니까?

$pheanstalk = \Illuminate\Support\Facades\Queue::getPheanstalk(); 
$pheanstalk->useTube('import-live'); 
$pheanstalk->watch('import-live'); 
while ($job = $pheanstalk->reserve(0)) { 
    var_dump(json_decode($job->getData(), true)); 
} 

대기. 하지만 여전히 기본 대기열에 대한 데이터를 얻습니다. 누구든지 import-live 대기열에 대한 데이터를 얻는 방법에 대한 아이디어가 있습니까? 또는 내 시스템에서 실행중인 다른 대기열. 기본적으로 시스템의 모든 대기열에있는 데이터를 가져 오려고합니다.

답변

0

우선 - 다른 대기열에 작업이 있는지 확인하십시오.

그런 다음 특정 실행에 대한 '기본'대기열에서 작업을 가져 오지 않으려면 해당 작업을 무시할 수 있습니다. put() 큐에 메시지를 -ing 때

$job = $pheanstalk 
    ->watch('import-live') 
    ->watch('import-other') 
    ->ignore('default') 
    ->reserve(); 

->useTube('..')에만 사용된다.