2017 © Pedro Peláez
 

library saxulum-message-queue

Saxulum Message Queue

image

saxulum/saxulum-message-queue

Saxulum Message Queue

  • Friday, April 20, 2018
  • by dominikzogg
  • Repository
  • 0 Watchers
  • 0 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

saxulum-message-queue

Build Status Total Downloads Latest Stable Version Scrutinizer Code Quality, (*1)

Description

A simple to use messaging queue abstraction., (*2)

Requirements

  • php: ~7.0

Installation

Through Composer as [saxulum/saxulum-message-queue][1]., (*3)

Usage

Message

```{.php} <?php, (*4)

namespace My\Project;, (*5)

use Saxulum\MessageQueue\MessageInterface;, (*6)

class SampleMessage implements MessageInterface { /** * @var string */ private $context;, (*7)

/**
 * @var string
 */
private $message;

/**
 * @param string $context
 * @param string $message
 */
public function __construct(string $context, string $message)
{
    $this->context = $context;
    $this->message = $message;
}

/**
 * @param string $json
 *
 * @return MessageInterface
 */
public static function fromJson(string $json): MessageInterface
{
    $rawMessage = json_decode($json);

    return new self($rawMessage->context, $rawMessage->message);
}

/**
 * @return string
 */
public function toJson(): string
{
    return json_encode([
        'context' => $this->context,
        'message' => $this->message,
    ]);
}

/**
 * @return string
 */
public function getContext(): string
{
    return $this->context;
}

/**
 * @return string
 */
public function getMessage(): string
{
    return $this->message;
}

}, (*8)


### RabbitMQ #### Additional Requirements ```{.json} { "require": { "php-amqplib/php-amqplib": "^2.6.3" } }

Send

```{.php} <?php, (*9)

use My\Project\SampleMessage; use PhpAmqpLib\Connection\AMQPStreamConnection; use Saxulum\MessageQueue\Redis\RedisSend;, (*10)

$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $sender = new RabbitMQSend($connection, 'messages'); $sender->send(new SampleMessage('context', 'this is a message'));, (*11)


#### Receive ```{.php} <?php use My\Project\SampleMessage; use PhpAmqpLib\Connection\AMQPStreamConnection; use Saxulum\MessageQueue\Redis\RedisReceive; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $receive = new RabbitMQReceive(SampleMessage::class, $connection, 'messages'); $message = $sender->receive();

Redis

Additional Requirements

```{.json} { "require": { "predis/predis": "^1.1.1" } }, (*12)


#### Send ```{.php} <?php use My\Project\SampleMessage; use Predis\Client; use Saxulum\MessageQueue\Redis\RedisSend; $client = new Client(); $sender = new RedisSend($client, 'messages'); $sender->send(new SampleMessage('context', 'this is a message'));

Receive

```{.php} <?php, (*13)

use My\Project\SampleMessage; use Predis\Client; use Saxulum\MessageQueue\Redis\RedisReceive;, (*14)

$client = new Client(); $sender = new RedisReceive(SampleMessage::class, $client, 'messages'); $message = $sender->receive();, (*15)


### SystemV #### Send ```{.php} <?php use My\Project\SampleMessage; use Saxulum\MessageQueue\SystemV\SystemVSend; $sender = new SystemVSend(1); $sender->send(new SampleMessage('context', 'this is a message'));

Receive

```{.php} <?php, (*16)

use My\Project\SampleMessage; use Saxulum\MessageQueue\SystemV\SystemVReceive;, (*17)

$sender = new SystemVReceive(SampleMessage::class, 1); $message = $sender->receive(); ```, (*18)

Dominik Zogg 2016, (*19)

The Versions

20/04 2018

dev-master

9999999-dev

Saxulum Message Queue

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

rabbitmq redis message-queue saxulum system-v

18/09 2016

1.0.0-beta1

1.0.0.0-beta1

Saxulum Message Queue

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

rabbitmq redis message-queue saxulum system-v

18/09 2016

1.0.0-alpha3

1.0.0.0-alpha3

Saxulum Message Queue

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

rabbitmq redis message-queue saxulum system-v

18/09 2016

1.0.0-alpha2

1.0.0.0-alpha2

Saxulum Message Queue

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

redis message-queue saxulum system-v

16/09 2016

1.0.0-alpha

1.0.0.0-alpha

Saxulum Message Queue

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

message-queue saxulum system-v