1. Go to this page and download the library: Download pmg/queue-tactician library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pmg / queue-tactician example snippets
use League\Tactician\CommandBus;
use League\Tactician\Handler\CommandHandlerMiddleware;
use PMG\Queue\Producer;
use PMG\Queue\Tactician\QueueingMiddleware;
/** @var Producer */
$producer = createAQueueProducerSomehow();
$bus = new CommandBus([
new QueueingMiddleware($producer),
new CommandHandlerMiddleware(/*...*/),
]);
use PMG\Queue\Message;
final class DoLongRunningStuff implements Message
{
/**
* {@inheritdoc}
*/
public function getName()
{
return 'LongRunningStuff';
}
}
// goes right into the queue
$bus->handle(new DoLongRunningStuff());
use PMG\Queue\DefaultConsumer;
use PMG\Queue\Handler\TacticianHandler;
/** @var League\Tactician\CommandBus $bus */
$handler = new TacticianHandler($bus);
/** @var PMG\Queue\Driver $driver */
$consumer = new DefaultConsumer($driver, $handler);
$consumer->run();
use League\Tactician\CommandBus;
use League\Tactician\Handler\CommandHandlerMiddleware;
use PMG\Queue\DefaultConsumer;
use PMG\Queue\Message;
use PMG\Queue\Handler\CallableHandler;
// no QueueingMiddleware!
$differentBus = new CommandBus([
new CommandHandlerMiddleware(/*...*/),
]);
$handler = new CallableHandler([$bus, 'handle']);
/** @var PMG\Queue\Driver $driver */
$consumer = new DefaultConsumer($driver, $handler);
$consumer->run();
use League\Tactician\CommandBus;
use League\Tactician\Handler\CommandHandlerMiddleware;
use PMG\Queue\Message;
use PMG\Queue\Handler\CallableHandler;
use PMG\Queue\Tactician\QueuedCommand;
use PMG\Queue\Tactician\QueueingMiddleware;
use PMG\Queue\Handler\CreatingTacticianHandler;
$handler = new CreatingTacticianHandler(function () {
// this is invoked for every message
return new CommandBus([
new QueueingMiddleware(createAProduerSomehow()),
new CommandHandlerMiddlware(/* ... */)
]);
});
/** @var PMG\Queue\Driver $driver */
$consumer = new DefaultConsumer($driver, $handler);
$consumer->run();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.