jorbascrumps/laravel-queue-it

Laravel 的 Queue-it 集成

1.3.0 2024-09-21 21:35 UTC

This package is auto-updated.

Last update: 2024-09-21 23:27:54 UTC


README

Tests

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