Download the PHP package mallabee/queue without Composer

On this page you can find all versions of the php package mallabee/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

Date updated: February 21, 201.

State: Still Active.

Leaning on (including) illuminate/queue version: 5.7.27

What?

Framework agnostic background task queue management for Beanstalkd, SQS. Easy to use in pure PHP, Symfony, Laravel, Yii2 projects. Based on illuminate/queue (Laravel Queues).

A background task management using multiple drivers with ability to register custom drivers.

What is a background task management? simple words - offloading work to background jobs. read more: https://www.slideshare.net/JurianSluiman/queue-your-work

Why?

We faced a problem needing a queue management for a Symfony side-project and a pure PHP project that has a framework agnostic approach in mind. This means - low, if at all amount of dependencies.

The available popular packages at that time were:

As each package had it's problems, we sat to create this library - a framework agnostic, queue background task management, available for use for pure PHP projects as well.

How?

ENTER - Mallabee Queue a.k.a MQ / MQueue (by mallabee.com)

By leveraging the understanding of queues, best practices and ease of use from multiple libraries such as yiisoft/yii2-queue, illuminate/queue.

We have taken the illuminate/queue package and highly modified it, so take a note as we are leaning on that when we develop new features and maintain this package.

Advantages / Features:

Usage

First thing to know is that most of the missing information you can find at illuminate/queue docs as our package is pretty similar (although with some changes): https://laravel.com/docs/5.7/queues#introduction

What will you need/might need to know to start

Seeding work to Queue Manager

To start, create a new Queue manager instance.

Once the instance has been registered and configured. You may use it like so to seed new jobs:

Registering a custom queue handler driver

As default - we have provided you with popular queue drivers default out of the box, this includes:

If you would like to create your own custom queue - follow these queues folders and create your custom queue driver.

Note: Make sure all your connector, driver and job files are inside same folder

Then when you have the driver ready, use it by registering and configuring it like so:

Using the queue and processing work via the Worker

Advise the demo app that is located under example folder to understand how you can pull jobs from the queue and process them.

There are multiple folders in there - we suggest to start with ExampleEasy to get an understanding, this example interacts with beanstalkd for the queue management.

Traits and their usage

InteractsWithQueue (Job trait)

JobUtils (Job trait)

Passing your Container, Event Dispatcher, Logger, Exception Handler, Serializer

Container

We are using the popular PSR container interface.

The container is passed to the job in-order to allow you to get your dependencies easily.

Also - it's used for custom serializing / de-serializing of the job payload.

Currently supported containers:

Event Dispatcher

Notice that we only use the listen & dispatch of the interface, no need to implement anything else.

Currently supported containers:

Logger

We are using the popular PSR logger interface.

Used in the queue utils.

Currently supported containers:

Serializer - Serializing (encoding) / De-serializing (decoding) job payloads with a custom serializer

You are able to serializer / de-serialize a job payload via a custom serializer such as JMS serializer (jms/serializer) and Symfony Serializer.

This allows you to better control the final object of the payload that will be registered to the queue or passed as payload to the job when it's being processed.

To do so you will have to use a container which has a key called job_serializer.

The serializer must implement the JobSerializerInterface.

See the demo for example of how it's actually done.

Note: The de-serializing process is a tad slower than the conventional & standard json_encode, json_decode way.

Currently supported containers:

Definitions

Best practices for background task management

MQ and Laravel Queues (illuminate/queue)

Main differences between MQ and Laravel Queues (illuminate/queue)

Structural difference

Was in place (illuminate/queue) New place in MQ
Capsule\Manager / QueueManager Core\Manager
Queue Core\Queue
Worker Core\Worker
WorkerOptions Core\WorkerOptions

Missing implementations

Contribute

Contribution is highly appreciated.

Please follow the Contribution Guide before contributing.

Here's what we are missing:

Fix required


All versions of queue with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1
ext-json Version *
ext-mbstring Version *
nesbot/carbon Version ^1.26.3
psr/container Version ^1.0
psr/log Version ^1.0
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 mallabee/queue contains the following files

Loading the files please wait ....