Download the PHP package ilepilin/queue without Composer

On this page you can find all versions of the php package ilepilin/queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package queue

PHP AMQP FACADE

Модуль для работы с очередями RabbitMQ.

Основные особенности

Модуль позволяет выполнять отложенные вычисления и передавать информацию как в рамках одного проекта, так и между проектами.

Модуль не привязан к каким-либо фреймворкам и для его работы требуется только PHP 5.4 или выше с расширениями bcmath и pdo_mysql.

Отказоустойчивость

Для обеспечения отказоустойчивости, модуль поддерживает возможность работы с разными драйверами очередей одновременно.

Драйвер, указанный первым по счету в конфиге, будет использоваться в качестве основного. Все остальные в качестве резервных.

В модуле есть драйверы RabbitMQ и MySQL. Если необходимо добавить свой драйвер, его нужно указать в конфигурации QueueFacade и он должен реализовывать интерфейс DriverInterface.

Передача сообщений между проектами

Чтобы передавать сообщения из одного проекта в другой, они должны быть подключены к одному серверу rabbitmq (и иметь общий коннект к MySQL для резервной очереди).

Может возникнуть проблема, что пространства имен у классов Payload отличаются в разных проектах. Чтобы избежать ошибок, нужно ассоциировать класс Payload проекта, в котором отправляются сообщения, с идентичным классом Payload проекта, в котором принимаются сообщения.

Это можно сделать при помощи свойства payloadMap в конфигурации драйверов проекта, где соощения принимаются:

Начало работы

Для работы модуля требуется:

Установка

Для установки модуля необходимо добавить пакет в composer

Или добавить строчку в файл composer.json и запустить обновление

Конфигурирование

Основной компонент модуля, QueueFacade, можно использовать как синглтон и обращаться к нему через Service Locator.

Ниже приведен пример конфигурации для проекта на фреймворке Yii2:

В текущем примере устанавливаются 2 драйвера:

Использование

Сконфигурированный QueueFacade, по примеру выше, можно удобно использовать следующим образом:

Добавление в очередь

Извлечение из очереди

Пример обработки сообщений из очереди:

В методе handle() Listener будет пытаться получить самое старое сообщение через указанный драйвер.

Если не указать драйвер, то будет использоваться тот, который указан первым в конфиге - в данном случае это RabbitMQ.

После успешного получения сообщения, Listener отправит его в обработку, передав в $worker->work().

Фоновая обработка сообщений

В файле daemon.php находится пример демона для обработки сообщений из очереди.

Запускается через CLI, в первом аргументе необходимо передать название канала.

Для удобного контроля за демонами, рекомендуется использовать supervisord.

Для этого, необходимо на каждый демон создать конфиг в /etc/supervisord.d/conf.d/

После добавления конфига, можно запускать следующей командой:

Обработка сообщений резервной очереди

Обработку сообщений резервной очереди можно осуществлять по крону.

Пример скрипта, выполняемого по крону, для отправки сообщений из резервной очереди в основную:

Лицензия

Copyright (c) 2019 Lepilin Igor

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.


All versions of queue with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.0
php-amqplib/php-amqplib Version 2.5.*
ext-pdo_mysql Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ilepilin/queue contains the following files

Loading the files please wait ....