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);
}
// }