php-rsmq icon indicating copy to clipboard operation
php-rsmq copied to clipboard

Should use popMessage for multiple Queue Worker

Open PhearZero opened this issue 4 years ago • 0 comments

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

PhearZero avatar Sep 14 '21 18:09 PhearZero