jorbascrumps / laravel-queue-it
Laravel 的 Queue-it 集成
Requires
- php: >=7.4
- illuminate/support: ^8|^9|^10|^11
- queueit/knownuserv3: ^3.7
Requires (Dev)
- orchestra/testbench: ^6|^7|^8|^9
This package is auto-updated.
Last update: 2024-09-21 23:27:54 UTC
README
Laravel 的 Queue-it 集成。
use Illuminate\Support\Facades\Route; Route::view('/event', 'event')->middleware('queue-it.known-user-queue');
安装
composer require jorbascrumps/laravel-queue-it
设置
将您的 Queue-it 凭据添加到环境文件中。
QUEUE_IT_CUSTOMER_ID= QUEUE_IT_SECRET_KEY=
提示
您的秘密可以在 Go Queue-it 自助服务平台 的 账户 > 设置 > 集成 下找到。
用法
已知用户队列
注意
您不应将 KnownUserQueue
应用到静态或缓存页面,或资产。
已知用户队列允许通过 Go Queue-it 自助服务平台控制队列,并需要一个集成配置。有关如何获取它的详细信息,请参阅 导出集成配置。一旦您将集成配置添加到项目中,您就可以将 KnownUserQueue
中间件应用于任何您想要排队的路由或路由组。
use Illuminate\Support\Facades\Route; Route::view('/event', 'event')->middleware('queue-it.known-user-queue');
如果您愿意,也可以引用类名而不是别名
use Illuminate\Support\Facades\Route; use Jorbascrumps\QueueIt\Http\Middleware\KnownUserQueue; Route::view('/event', 'event')->middleware(KnownUserQueue::class);
内联队列
注意
您不应将 InlineQueue
应用到静态或缓存页面,或资产。
将 InlineQueue
中间件应用于任何您想要排队的路由或路由组。您必须指定一个事件和队列域。其他 自定义选项 也可用。
use Illuminate\Support\Facades\Route; use Jorbascrumps\QueueIt\Http\Middleware\InlineQueue; Route::view('/event', 'event')->middleware([ InlineQueue::eventId('event1') ->queueDomain('jorbacrumps.queue-it.net') ]);
用户队列资格
您可能不想让每个用户都通过队列。在这些场景中,您可以在服务提供者中提供客户解析器,以确定队列资格。
KnownUserQueue::resolveUserQueueEligibilityUsing(function (Authenticatable $user) { return ! $user->isAdmin(); });
回调将通过容器解析,因此您可以注入已认证的用户或您可能需要的任何其他依赖项。
导出集成配置
已知用户队列需要包含如何以及何时管理队列的逻辑的集成配置文件。有几个选项可以将此文件添加到项目中。
发布 webhook
此软件包包括一个 webhook 路由,您可以在您的帐户中注册以在您进行更改时推送您的集成配置文件。您可以在 集成 > 概览 > 设置 > 发布 Web 端点 下配置此设置。
提示
您可以在环境文件中自定义 webhook 路由
QUEUE_IT_CONFIG_UPDATE_URL=/webhooks/queue-it/config-published
使用 Artisan
此软件包包括一个 Artisan 命令,您可以在需要时获取并存储您的集成文件。请注意,此方法需要 API 密钥。
php artisan queue-it:fetch-config
重要
您可以在环境文件中指定您的 API 密钥
QUEUE_IT_API_KEY=your-api-key
自定义解析器
如果您需要实现自定义逻辑以提供您的集成配置,您可以在服务提供者中使用自定义解析器。
KnownUserQueue::resolveIntegrationConfigurationUsing(function () { // Return your integration configuration as a JSON string });
默认解析器将尝试在应用程序的存储中找到您的配置。
手动下载
可以在您的帐户中的 集成 > 概览 > 最新已知用户配置 下找到下载选项。您应将其保存到应用程序的存储目录。
自定义配置文件位置
默认情况下,您的集成配置文件预计在应用程序的存储中为 queue-it-config.json
。如果您需要在存储中以其不同的名称存储,您可以在环境文件中指定此名称。
QUEUE_IT_CONFIG_FILE=queue-it-config.json