zeroem/deferred-request-bundle

用于将请求处理推迟到未来的工具

dev-master 2012-06-26 06:31 UTC

This package is not auto-updated.

Last update: 2024-09-22 04:08:03 UTC


README

提供工具来标记控制器动作作为延迟。只需在任意的控制器或动作上添加 @Defer 注解,请求就会在 HttpKernel 的 KernelEvents::CONTROLLER 阶段被拦截。此时,请求对象将被序列化并存储到数据库中,以便稍后通过 deferred-request:process 控制台命令进行处理。

当请求被延迟时,会返回一个适当的 HTTP 202 响应,其中包含

  • 一个 Content-Location 报头,指示延迟响应的位置
  • 一个 Link 报头,指示可以监控延迟请求状态的位置

示例

延迟单个控制器动作

// ...

/**
 * @Defer
 */
public function indexAction() 
{

}

// ...

延迟控制器上的所有动作

/**
 * @Defer
 */
class FooController extends Controller
{
   // Actions...
}