dev-master
9999999-devQueue manager. Based on AMQ protocol.
The Requires
- php >=5.6.0
- php-amqplib/php-amqplib 2.6.3
by Baidin Sergei
Wallogit.com
2017 © Pedro PelΓ‘ez
Queue manager. Based on AMQ protocol.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ RabbitMQ. br/, (*1)
| ΠΠ΅ΡΡΠΈΡ | ΠΠ°ΡΠ° | ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ |
|---|---|---|
| dev-master | 2017-11-13 | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° |
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Composer:br/ Π‘ΠΎΠ·Π°Π΄ΠΉΡΠ΅ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ, (*2)
{
"require": {
"panace9i/rabbitmq": "dev-master"
}
}
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, (*3)
composer install
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, (*4)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Producer\Adapter\Sync;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
$entity = new Sync();
$result = $entity->execute(<request_data_as_string>, <queue_name>);
...
Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΡΠΈΠΊΠΈ, (*5)
<?php
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Producer\Factory AS ProducerFactory;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
$entity = ProducerFactory::getInstance(ProducerFactory::ADAPTER_SYNC);
$result = $entity->execute(<request_data_as_string>, <queue_name>);
...
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, (*6)
<?php
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Consumer\Adapter\Sync;
use Panace9i\Queue\RabbitMQ\Handler\HandlerAbstract;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
class SyncTest extends HandlerAbstract
{
public function listen($request)
{
$params = $request->body;
...
return $this->reply(<response_data_as_string>, $request);
}
}
$entity = new Sync();
$entity->listen(<queue_name>, [new SyncTest, 'listen']);
Π‘ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΡΠΈΠΊΠΈ, (*7)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Consumer\Factory AS ConsumerFactory;
use Panace9i\Queue\RabbitMQ\Handler\HandlerAbstract;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
class SyncTest extends HandlerAbstract
{
public function listen($request)
{
$params = $request->body;
...
return $this->reply(<response_data_as_string>, $request);
}
}
$entity = ConsumerFactory::getInstance(ConsumerFactory::ADAPTER_SYNC);
$entity->listen(<queue_name>, [new SyncTest, 'listen']);
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, (*8)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Producer\Adapter\Async;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
$entity = new Async();
$result = $entity->execute(<request_data_as_string>, <queue_name>);
...
Π‘ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΡΠΈΠΊΠΈ, (*9)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Producer\Factory AS ProducerFactory;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
$entity = ProducerFactory::getInstance(ProducerFactory::ADAPTER_ASYNC);
$entity->execute(<request_data_as_string>, <queue_name>);
...
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, (*10)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Consumer\Adapter\Async;
use Panace9i\Queue\RabbitMQ\Handler\HandlerAbstract;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
class AsyncTest extends HandlerAbstract
{
public function listen($request)
{
$params = $request->body;
...
return $this->reply(<response_data_as_string>, $request);
}
}
$entity = new Async();
$entity->listen(<queue_name>, [new AsyncTest, 'listen']);
Π‘ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΡΠΈΠΊΠΈ, (*11)
require "vendor/autoload.php";
use Panace9i\Queue\RabbitMQ\Consumer\Factory AS ConsumerFactory;
use Panace9i\Queue\RabbitMQ\Handler\HandlerAbstract;
Panace9i\Queue\RabbitMQ\Config\Config::init()
->setHost('localhost')
->setPort(5672)
->setUser('guest')
->setPassword('guest');
class AsyncTest extends HandlerAbstract
{
public function listen($request)
{
$params = $request->body;
...
return $this->reply(<response_data_as_string>, $request);
}
}
$entity = ConsumerFactory::getInstance(ConsumerFactory::ADAPTER_ASYNC);
$entity->listen(<queue_name>, [new AsyncTest, 'listen']);
Queue manager. Based on AMQ protocol.