php-rsmq
php-rsmq copied to clipboard
Should use popMessage for multiple Queue Worker
The workers->work interface could use popMessage instead of receiveMessage. This way a Queue can be processed in parallel. It could be optimized it in a way where we have a $parallel parameter flag and|or max_retries.
...
$message = $this->rsmq->popMessage($this->queue);
if (!($message instanceof Message)) {
sleep($sleep);
continue;
}
$this->received++;
$result = $this->executor->__invoke($message);
if ($result === true) {
$this->successful++;
} else {
$this->failed++;
$this->rsmq->sendMessage($this->queue, $message->getMessage());
}
...
https://github.com/abreksa4/php-rsmq/blob/236611b39c9cbaad05ce53e3bd020e9cc5b5533a/src/QueueWorker.php#L83