squigg / azure-queue-laravel
Laravel Queue Driver for Microsoft Azure Storage Queue
Installs: 223 528
Dependents: 1
Suggesters: 0
Security: 0
Stars: 43
Watchers: 4
Forks: 24
Open Issues: 3
pkg:composer/squigg/azure-queue-laravel
Requires
- php: ^8.1
- illuminate/queue: ^10.0|^11.0|^12.0
- microsoft/azure-storage-queue: ~1.3.0
Requires (Dev)
- ext-json: *
- mockery/mockery: ~1.0
- orchestra/testbench: ^8.0|^9.0|^10.0
- php-coveralls/php-coveralls: ~2.0
- phpunit/phpunit: ^10.0|^11.5.3
- dev-master
- 12.x-dev
- v12.0.0
- 11.x-dev
- v11.0.0
- 10.x-dev
- v10.0.1
- v10.0
- 9.x-dev
- v9.0
- 8.x-dev
- v8.2.0
- v8.1.0
- v8.0.0
- 7.x-dev
- v7.0.0
- 6.x-dev
- v6.0.0
- v5.8.0
- v5.7.1
- v5.7.0
- v5.6.1
- v5.6.0
- 5.5.x-dev
- v5.5.3
- v5.5.2
- v5.5.1
- v5.5.0
- 5.4.x-dev
- v5.4.3
- v5.4.2
- v5.4.1
- v5.4.0
- 5.3.x-dev
- v5.3.2
- v5.3.1
- v5.3.0
- 5.2.x-dev
- v5.2.2
- v5.2.1
- v5.2.0
This package is auto-updated.
Last update: 2025-10-25 13:12:35 UTC
README
PHP Laravel Queue Driver package to support Microsoft Azure Storage Queues
Prerequisites
- Laravel 5.2 - 8.x (not tested on previous versions)
- PHP 5.6+ for Laravel 5.2+
- PHP 7+ for Laravel 5.5+
- PHP 7.1+ for Laravel 5.6+
- PHP 7.2+ for Laravel 6+
- PHP 7.3+ for Laravel 8+
- PHP 8.0+ for Laravel 9+
- PHP 8.1+ for Laravel 10+
- PHP 8.1+ for Laravel 11+
- PHP 8.2+ for Laravel 12+
- Microsoft Azure Storage Account and Storage Account Key
- Queue container created through Azure Portal or via Azure CLI or PowerShell
Installation
Install using composer
You can find this library on Packagist.
Require this package in your composer.json. The version numbers will follow Laravel.
Laravel 12.x
"squigg/azure-queue-laravel": "^12.0"
composer require squigg/azure-queue-laravel:^12.0
Laravel 11.x
"squigg/azure-queue-laravel": "^11.0"
composer require squigg/azure-queue-laravel:^11.0
Laravel 10.x
"squigg/azure-queue-laravel": "^10.0"
composer require squigg/azure-queue-laravel:^10.0
Laravel 9.x
"squigg/azure-queue-laravel": "^9.0"
composer require squigg/azure-queue-laravel:^9.0
Laravel 8.x
"squigg/azure-queue-laravel": "^8.0"
composer require squigg/azure-queue-laravel:^8.0
Laravel 7.x
"squigg/azure-queue-laravel": "^7.0"
composer require squigg/azure-queue-laravel:^7.0
Laravel 6.x
"squigg/azure-queue-laravel": "^6.0"
composer require squigg/azure-queue-laravel:^6.0
Laravel 5.8.x
"squigg/azure-queue-laravel": "5.8.*"
composer require squigg/azure-queue-laravel:5.8.*
Laravel 5.7.x
"squigg/azure-queue-laravel": "5.7.*"
composer require squigg/azure-queue-laravel:5.7.*
Laravel 5.6.x
"squigg/azure-queue-laravel": "5.6.*"
composer require squigg/azure-queue-laravel:5.6.*
Laravel 5.5.x
"squigg/azure-queue-laravel": "5.5.*"
composer require squigg/azure-queue-laravel:5.5.*
Laravel 5.4.x
"squigg/azure-queue-laravel": "5.4.*"
composer require squigg/azure-queue-laravel:5.4.*
Laravel 5.3.x
"squigg/azure-queue-laravel": "5.3.*"
composer require squigg/azure-queue-laravel:5.3.*
Laravel 5.2.x
"squigg/azure-queue-laravel": "5.2.*"
composer require squigg/azure-queue-laravel:5.2.*
For versions 5.3 and older only
Add the following pear repository in your composer.json file required for the Microsoft Azure SDK
(v5.4+ uses the microsoft/azure-storage package instead, and v5.6+ uses microsoft/azure-storage-queue):
"repositories": [
{
"type": "pear",
"url": "http://pear.php.net"
}
],
Update Composer dependencies
composer update
Configuration
Add Provider
If you are not using Laravel auto package discovery, add the ServiceProvider to your providers array in config/app.php:
'Squigg\AzureQueueLaravel\AzureQueueServiceProvider',
For Lumen (5.x) you will need to add the provider to bootstrap/app.php:
$app->register(Squigg\AzureQueueLaravel\AzureQueueServiceProvider::class);
Add Azure queue configuration
Add the following to the connections array in config/queue.php, and
fill out your own connection data from the Azure Management portal:
'azure' => [
'driver' => 'azure', // Leave this as-is
'protocol' => 'https', // https or http
'accountname' => env('AZURE_QUEUE_STORAGE_NAME'), // Azure storage account name
'key' => env('AZURE_QUEUE_KEY'), // Access key for storage account
'queue' => env('AZURE_QUEUE_NAME'), // Queue container name
'timeout' => 60, // Seconds before a job is released back to the queue
'endpoint' => env('AZURE_QUEUE_ENDPOINTSUFFIX'), // Optional endpoint suffix if different from core.windows.net
'queue_endpoint'=> env('AZURE_QUEUE_ENDPOINT'), // Optional endpoint for custom addresses like http://localhost/my_storage_name
],
Add environment variables into your .env file to set the above configuration parameters:
AZURE_QUEUE_STORAGE_NAME=xxx
AZURE_QUEUE_KEY=xxx
AZURE_QUEUE_NAME=xxx
AZURE_QUEUE_ENDPOINTSUFFIX=xxx
AZURE_QUEUE_ENDPOINT=xxx
Set the default Laravel queue
Update the default queue used by Laravel by setting the QUEUE_CONNECTION value in your .env file to azure.
QUEUE_CONNECTION=azure
This setting is QUEUE_DRIVER in older versions of Laravel.
Usage
Use the normal Laravel Queue functionality as per the documentation.
Remember to update the default queue by setting the QUEUE_DRIVER value in your .env file to azure.
Changelog
2025-07-25 - V11.0 - Support for Laravel 12.x
2024-03-30 - V11.0 - Support for Laravel 11.x
2023-03-17 - V10.0 - Support for Laravel 10.x
2022-03-17 - V9.0 - Support for Laravel 9.x
2021-10-16 - V8.1 - Support for PHP 8
2020-09-19 - V8.0 - Support for Laravel 8.x (composer dependency and test refactoring only)
2020-06-04 - V7.0 - Support for Laravel 7.x (composer dependency and test refactoring only)
2020-06-04 - V6.0 - Support for Laravel 6.x (composer dependency changes only)
2019-07-13 - V5.8 - Support for Laravel 5.8 (composer dependency and test changes only)
2019-07-13 - V5.7.1 - Fix invalid signature on call to base Laravel Queue method
2018-09-04 - V5.7 - Support for Laravel 5.7 (composer dependency changes only)
2018-02-07 - V5.6 - Switch to GA version of Microsoft Azure Storage PHP API. Support Laravel 5.6 (composer.json changes only). Update dev dependencies to latest versions.
2017-09-11 - V5.5 - Support Laravel 5.5 and PHP7+ only. Update Azure Storage API to 0.18
2017-09-11 - V5.4 - Update Azure Storage API to 0.15 (no breaking changes)
License
Released under the MIT License. Based on Alex Bouma's Laravel 4 package, updated for Laravel 5.