Download the PHP package buzzingpixel/corbomite-queue without Composer
On this page you can find all versions of the php package buzzingpixel/corbomite-queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package corbomite-queue
Corbomite Queue
Part of BuzzingPixel's Corbomite project.
This project provides a Queue for adding items to be run by the server in sequence.
Usage
When you require this into a Corbomite project, the CLI commands and dependency injection config will automatically be set up.
Installation
Corbomite Queue needs to add a couple of database tables in order to function. In order to do this, it needs to create some migrations which then need to be run. Run the create-migrations command, which will place migration files in your Corobomite project.
After running that command, you'll need to run the migrations:
Running the queue
Development environment
In dev, you'll probably just want to run the queue manually. The command to do that is:
That command runs the next item in your queue.
Production Environments
As of 1.3.0, Corbomite Queue is multiple worker aware. That means you can and should have multiple workers running the queue/run command in a loop (how many workers will depend on how beefy your server environment is and how many resources you want consumed on the queue). The queue tracks which batches are running and which are not running. The next worker will pick up the next task in a batch that does not currently indicate it is running.
An example shell script is provided in this repository for Linux environments. Example Shell Script.
You are encouraged to use Supervisor to set multiple workers to run this script.
Adding to the queue
The Queue API is provided to make things extremely easy to add items to the queue. Note that in the examples below, any class you specify to add to the queue, Corbomite Queue will attempt to get it from the Dependency Injector first so you can use dependency injection if you want to.
License
Copyright 2019 BuzzingPixel, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
All versions of corbomite-queue with dependencies
ext-json Version *
buzzingpixel/corbomite-db Version ^1.2.1
buzzingpixel/corbomite-di Version ^1.0
buzzingpixel/corbomite-migrations Version ^1.0
ramsey/uuid Version ^3.8
symfony/filesystem Version ^4.2