2014-12-25 5 views
1

저는 Laravel 프레임 워크를 사용하고 있으며 최근에 IronMQ를 지원하는 Laravel의 큐를 구현하기 시작했습니다.Laravel Pull Queue

Laravel documentation에서 메시지를 대기열로 푸시하는 방법을 확인한 다음 Iron.io 구독자를 설정하고 해당 구독자에게 대기열 푸시를 보냅니다. 그러나 IronMQ를 끌어 오기 대기열로 사용하고 싶습니다. Laravel에 내장 된 메서드를 사용하여 지정된 큐에서 메시지를 가져 오는 방법에 대한 지침이 표시되지 않습니다.

IronMQ 사이트에는 끌어 오기 큐 구현을 용이하게하기 위해 관련된 모든 끝점이 나열되어 있습니다.

예 : Laravel에 대한 IronMQ 패키지에서 /projects/{Project ID}/queues/{Queue Name}/messages

나는이 엔드 포인트와 제대로 작동 방법을 참조하십시오

/** 
* Peek Messages on a Queue 
* Peeking at a queue returns the next messages on the queue, but it does not reserve them. 
* 
* @param string $queue_name 
* @return object|null message or null if queue is empty 
*/ 
public function peekMessage($queue_name) { 
    $messages = $this->peekMessages($queue_name, 1); 
    if ($messages == null) { 
     return null; 
    } else { 
     return $messages[0]; 
    } 
} 

는 그러나, 나는 Laravel을 통해 이에 대한 어떠한 지원도 표시되지 않습니다. 나는의 라인을 따라 뭔가 할 수 있기를 기대 : 지정된 큐에서 다음 메시지를 반환

$message = Queue::peek(); 

을 등

Laravel의 지원에 내장 된이 할 수있는 방법이 있나요 그것은 단지 문서화되지 않았습니까?

감사합니다.

편집 : 그러나 나는 cron 작업을 통해 큐에게 자신을 처리하려면, Laravel을 통해 Daemon Workers를 사용하여 문서를 본

.

답변

1

당신은 IronMQ의 대신 laravel 큐 클래스의 클래스 사용을 시도 할 수 있습니다 : 나는 큐에서 메시지를 검색 할 수 있어요 당신의 제안을 사용

$ironmq = new \IronMQ(array(
    'token' => Config::get('queue.connections.iron.token', 'xxx'), 
    'project_id' => Config::get('queue.connections.iron.project', 'xxx') 
)); 
$ironmq->getMessage($queue_name); 

IronMQ PHP lib

+0

을, 그러나 몸은 암호화 것으로 보인다 어떤 방식으로. 실례지만, 이것이 Laravel이 기본적으로 수행하고 있는지, 아니면 메시지 본문에서 일반 텍스트를 가져올 수 있는지 확실하지 않습니다. – Vigs

+0

크립트가 대답이었습니다. '$ decrypted = Crypt :: decrypt ($ message-> body);' – Vigs