此包已被废弃,不再维护。未建议替代包。

Queuing 为 Laravel 4.2 提供队列性能提升

v1.0.3 2015-01-03 19:53 UTC

README

Laravel Queuing 由 Graham Campbell 创建并维护,为 Laravel 4.2 提供队列性能提升。它通过在客户端收到响应后(在关闭时)进行实际的工作队列(包括同步作业的执行)来实现。您可以随时查看 变更日志版本发布许可协议API 文档贡献指南

警告

此包不再维护。

Laravel Queuing

Build Status Coverage Status Quality Score Software License Latest Version

安装

PHP 5.4+ 或 HHVM 3.3+,以及 Composer 是必需的。

要获取 Laravel Queuing 的最新版本,只需将以下行添加到您的 composer.json 文件的 require 块中

"graham-campbell/queuing": "~1.0"

对于某些功能,您还需要安装一些额外的依赖项

  • beanstalk 连接器需要在您的 composer.json 中包含 "pda/pheanstalk": "~2.1"
  • aws 连接器需要在您的 composer.json 中包含 "aws/aws-sdk-php": "~2.4"
  • iron 连接器需要在您的 composer.json 中包含 "iron-io/iron_mq": "~1.4"

然后,您需要运行 composer installcomposer update 以下载它并更新自动加载器。

Laravel Queuing 安装完成后,您需要注册服务提供者。打开 app/config/app.php 并将以下内容添加到 providers 键中。

  • 'GrahamCampbell\Queuing\QueuingServiceProvider'

您还必须删除 Laravel Queuing 服务提供者!

打开 app/config/app.php 并删除 'Illuminate\Queue\QueueServiceProvider'

未能做到这一点将导致无限循环。

配置

Laravel Queuing 不需要额外的配置,只需 Laravel 的队列所必需的配置即可,但它提供了一个快速启动命令用于 iron 队列,配置完成后,您可以简单地运行 php artisan queue:iron 而不带任何参数,它就会正常工作。

使用

Queues\XXXQueue

所有队列类都覆盖了Laravel的队列类。每次调用如push等方法时,在幕后,该包将它们简单地排队到PHP内存中,当这些类的process方法被调用时,才会真正地推送。默认情况下,此包将通过队列管理器在shutdown时调用此方法,但您也可以手动提前调用。调用函数后,作业将从内部队列中删除,因此后续对该函数的调用不会推送相同的作业两次。

队列管理器

此类扩展了Laravel的队列管理器,并将其覆盖。它有一个额外的方法processAll。这将调用所有活动队列连接的process方法。每个队列的process方法的功能在上文已描述。

队列服务提供者

此类不包含感兴趣的公开方法。应在app/config/app.php中的提供者数组中添加此类。此类将设置IoC绑定并注册队列处理。Illuminate\Queue\QueueServiceProvider必须在添加此类之前从服务提供者列表中删除。

更多信息

在此包中还有其他未在此文档中记录的类。这是因为它们不是为了公共使用而设计的,而是由该包内部使用的。

请随时查看Laravel队列API文档

许可

Laravel队列受MIT许可证(MIT)许可。