sagacorp / yii2-queue-azure-service-bus
基于Azure服务总线(Azure Service Bus)的Yii2队列驱动程序
1.2.4
2024-09-24 10:33 UTC
Requires
- nesbot/carbon: ^2.0 | ^3.0
- yiisoft/yii2-httpclient: ^2.0
- yiisoft/yii2-queue: ^2.0
Requires (Dev)
- roave/security-advisories: dev-latest
README
此扩展是Yii2 Queue的一个驱动程序,用于基于Microsoft Azure Service Bus的队列。
它使用了Azure Service Bus REST API
安装
使用 composer 安装此扩展。
可以运行
php composer.phar require --prefer-dist sagacorp/yii2-queue-azure-service-bus
或者将扩展添加到您的composer json文件中。
"sagacorp/yii2-queue-azure-service-bus": "~1.0.0"
基本用法
首先,您可能需要配置您的 Azure服务总线。
然后,配置yii2队列,服务总线如下所示
return [ 'components' => [ 'queue' => [ 'class' => \saga\queue\azure\Queue::class, 'as log' => \yii\queue\LogBehavior, 'serializer' => \yii\queue\serializers\JsonSerializer::class, 'queue' => 'default', // Optional 'queues' => [ 'default' => [ // name of the 'queue' attribute 'class' => \saga\queue\azure\service\ServiceBus::class, 'serviceBusNamespace' => 'your service bus namespace', 'sharedAccessKey' => 'your shared access key to access the service bus queue', 'sharedAccessKeyName' => 'your shared access key name', 'queue' => 'the name of your Azure Service Bus queue (can be different than the name used as config key)', ], ], ], ], ];
目前此扩展只支持共享访问签名认证。它不支持Azure Active Directory。
一旦配置完成,您可以向队列中发送一个任务
Yii::$app->queue->push(new DownloadJob([ 'url' => 'http://example.com/image.jpg', 'file' => '/tmp/image.jpg', ]));