pond5/async-request-bundle

此扩展允许向Symfony Messenger传输发送请求,以便由消费者稍后处理

安装: 472

依赖: 0

建议者: 0

安全: 0

星星: 9

关注者: 14

分支: 1

开放问题: 0

类型:symfony-bundle

1.3 2022-05-17 15:21 UTC

This package is auto-updated.

Last update: 2024-09-17 20:24:26 UTC


README

Pond5 Async Request Bundle codecov Latest Stable Version Total Downloads

此扩展允许向Symfony Messenger传输发送请求,以便由消费者稍后处理。

安装

请确保全局已安装Composer,如Composer文档的安装章节中所述。

使用Symfony Flex的应用程序

打开命令行,进入项目目录并执行

composer require pond5/async-request-bundle

不使用Symfony Flex的应用程序

  1. 添加配置文件
# config/packages/pond5_async_request.yaml
pond5_async_request:
    #header: X-Request-Async # user defined header name to indicate asynchronous request - X-Request-Async used by default
    #methods: [DELETE, PATCH, POST, PUT] # HTTP methods that should support async requests
    transport: async-request # messenger transport name, ignored if messenger routing for Pond5\AsyncRequestBundle\Message\AsyncRequestNotification is configured manually

# can be omitted when using transport configured in another file (e.g. messenger.yaml)
framework:
    messenger:
        transports:
            async-request: '%env(MESSENGER_TRANSPORT_DSN)%'
  1. 下载扩展

打开命令行,进入项目目录并执行以下命令以下载此扩展的最新稳定版本

composer require pond5/async-request-bundle
  1. 启用扩展

然后,通过将其添加到项目config/bundles.php文件中注册的扩展列表中来启用扩展

// config/bundles.php

return [
    // ...
    Pond5\AsyncRequestBundle\Pond5AsyncRequestBundle::class => ['all' => true],
];

使用方法

  1. DELETE, PATCH, POST, PUT请求中添加X-Request-Async头,例如
curl -i -X POST http://example.org/endpoint -H "X-Request-Async: 1"

Symfony应该以202状态码和空响应体响应

HTTP/1.1 202 Accepted
Content-Length: 0
  1. 处理请求/消费消息
bin/console messenger:consume

测试

  1. 安装开发依赖
composer install
  1. 运行单元测试
bin/phpunit