2017 © Pedro Peláez
 

library zf-queue

Queue module for Zend Framework 3.

image

bupy7/zf-queue

Queue module for Zend Framework 3.

  • Wednesday, November 22, 2017
  • by bupy7
  • Repository
  • 2 Watchers
  • 0 Stars
  • 61 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

zf-queue

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Coverage Status, (*1)

Abstract queue module for Laminas. Module contains only abstract layers to create their own integrations using this module., (*2)

Installation

The preferred way to install this extension is through composer., (*3)

Either run, (*4)

$ php composer.phar require bupy7/zf-queue "*"

or add, (*5)

"bupy7/zf-queue": "*"

to the require section of your composer.json file., (*6)

Integration

Ready integrations

Create their own integration

TODO, (*7)

Usage

Create task

Let's create our first an example task for queue:, (*8)

// YourModule/src/task/ExampleTask.php

namespace YourModule\Task;

use Bupy7\Queue\Task\TaskInterface;
use Laminas\Stdlib\ParametersInterface;
use Chat\Service\ChatService;

class SendAccountTask implements TaskInterface
{
    /**
     * @var ChatService
     */
    protected $chatService;

    public function __construct(ChatService $chatService) {
        $this->chatService = $chatService;
    }

    /**
     * @param ParametersInterface $params
     * - message (string)
     * @return bool
     */
    public function execute(ParametersInterface $params): bool
    {
        $this->chatService->send($params->get('message'));
        return true;
    }
}

Run task

After you need to register task to queue manager:, (*9)

// YouModule/config/queue.config.php

namespace YourModule;

return [
    'queue_manager' => [
        'factories' => [
            Task\ExampleTask::class => \Laminas\ServiceManager\AbstractFactory\ReflectionBasedAbstractFactory::class,
        ],
    ],
];

Now, add queue.config.php to your config list:, (*10)

// YourModule/src/YourModule.php

class Module
{
    public function getConfig(): array
    {
        return array_merge(

            // another config files

            require __DIR__ . '/../config/queue.config.php'
        );
    }
}

Add the task to queue, (*11)

$container->get('Bupy7\Queue\Service\QueueService')->add('YourModule\Task\ExampleTask');

Run queue, (*12)

$container->get('Bupy7\Queue\Service\QueueService')->run();

License

zf-queue is released under the BSD 3-Clause License., (*13)

The Versions