dev-master
9999999-devA nats or redis queue client in PHP
MIT
The Requires
- phpunit/phpunit 6.5.5
 - php >=7.0.0
 
by lixin
queue
                         Wallogit.com
                    
                    2017 © Pedro Peláez
                    
                    
                    
                    
                
                
            
A nats or redis queue client in PHP
A nats or redis queue client in PHP, (*1)
composer require l-queue/l-client
$natsClient = \LQueue\Factory::getQueue('nats');
$natsClient->driver();
$natsClient->publish('FOO', 'bar', 11);
NATS is an open-source, cloud-native messaging system. In addition to functioning as the “nervous system” for the Apcera platform, companies like Baidu, Siemens, VMware, HTC, and Ericsson rely on NATS for its highly performant and resilient messaging capabilities., (*2)
This library supported publish,request and subscribe function., (*3)
$natsClient = \LQueue\Factory::getQueue('nats');
$natsClient->driver();
$natsClient->publish('FOO', 'bar', 11);
$natsClient->close();
$natsClient = \LQueue\Factory::getQueue('nats');
$natsClient->driver();
$natsClient->subscribe('FOO', function ($response) {
    printf("Data: %s\r\n", $response->getBody());
});
$natsClient->close();
$natsClient = \LQueue\Factory::getQueue('nats');
$natsClient->driver();
$natsClient->subscribe('FOO', function ($response) {
    printf("Data: %s\r\n", $response->getBody());
});
$natsClient->publish('FOO', 'bar');
// Wait for 1 message.
$natsClient->wait(1);
$natsClient->close();
$natsClient = \LQueue\Factory::getQueue('nats');
// set username and password when you config the nats
$natsClient->getConnectOption()->setUser('derek')->setPass('T0pS3cr3t')->setPort(4242);
$natsClient->driver();
$sid = $natsClient->subscribe(
    'foo',
    function ($response) {
        $response->reply('Reply: Hello, ' . $response->getBody() . ' ^_^!');
    }
);
$natsClient->request(
    'foo',
    'bar',
    function ($response) {
        echo $response->getBody();
    }
);
$natsClient->close();
Configure some parameters, (*4)
$natsClient->getConnectOption()->setUser('derek')->setPass('T0pS3cr3t')
$natsClient->getConnectOption()->setHost('127.0.0.1')->setPort(4242);
// wait for 10s,then close the connection $natsClient->getConnectOption()->setTimeout(10)
Just packaging some redis function., (*5)
$redisClient = \LQueue\Factory::getQueue('redis');
$option = $redisClient->getConnectOption()->setPass('123456');
$redisClient->driver();
$redisClient->publish('FOO', 'bar');
$redisClient->close();
$redisClient = \LQueue\Factory::getQueue('redis');
$option = $redisClient->getConnectOption()->setPass('123456');
$redisClient->driver();
$redisClient->enQueue('FOO', 'bar');
$redisClient->close();
Configure some parameters, (*6)
$redisClient = \LQueue\Factory::getQueue('redis');
$option = $redisClient->getConnectOption()->setPass('123456');
$redisClient->getConnectOption()->setHost('127.0.0.1')->setPort(4242);
// wait for 10s,then close the connection $redisClient->getConnectOption()->setTimeout(10)
MIT, (*7)
A nats or redis queue client in PHP
MIT
queue