graham-campbell / queuing
Queuing 为 Laravel 4.2 提供队列性能提升
Requires
- php: >=5.4.7
- illuminate/console: ~4.2
- illuminate/queue: ~4.2
- illuminate/support: ~4.2
Requires (Dev)
- aws/aws-sdk-php: ~2.4
- graham-campbell/testbench: ~1.0
- iron-io/iron_mq: ~1.4
- pda/pheanstalk: ~2.1
Suggests
- aws/aws-sdk-php: Enables the aws connector.
- iron-io/iron_mq: Enables the iron connector.
- pda/pheanstalk: Enables the beanstalk connector.
This package is auto-updated.
Last update: 2022-02-01 12:30:23 UTC
README
Laravel Queuing 由 Graham Campbell 创建并维护,为 Laravel 4.2 提供队列性能提升。它通过在客户端收到响应后(在关闭时)进行实际的工作队列(包括同步作业的执行)来实现。您可以随时查看 变更日志、版本发布、许可协议、API 文档 和 贡献指南。
警告
此包不再维护。
安装
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 install
或 composer 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)许可。