Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2016, 12:28
dvelopments
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Workers y Supervisor

Hola, cree un worker que procesa los trabajos de una queue y con supervisor configure el proceso para que este funcionando.

Mi pregunta es si el código del worker lo debo meter en un while para que sea infinito o dejarlo así y que se este ejecutando por supervisor?


Código PHP:
<?php

require 'bootstrap.php';

use 
OpenCloudCommonConstantsDatetime;

$seconds = 60;
$micro = $seconds * 1000000;
$queue = $queuesService->getQueue('SendConfirmationEmail');

// while (true) {

$claimedMessages = $queue->claimMessages([
    
'limit' => 2,
    
'ttl'   => 5 * Datetime::MINUTE,
    
'grace' => 5 * Datetime::MINUTE,
]);

if (
false !== $claimedMessages) {
    foreach (
$claimedMessages as $claimedMessage) {
        
$claimId = $claimedMessage->getClaimIdFromHref();
        
$claim   = $queue->getClaim($claimId);

        ...

        
$claimedMessage->delete($claimId);
    }
}

$messages = $queue->listMessages([
    
'limit' => 1,
]);
if (
0 == count($messages)) {
    
usleep($micro);
}

// }
Saludos!