ronanchilvers / silex-queue-beanstalkd
使用 beanstalkd 作为后端的 silex 简单队列机制
1.1.1
2018-10-10 08:03 UTC
Requires
- pda/pheanstalk: ^3.1
- silex/silex: ^2.2
Suggests
- knplabs/console-service-provider: @2.1 If you want to use the consume CLI command
This package is auto-updated.
Last update: 2024-09-10 20:55:31 UTC
README
这是一个使用 Silex 和 Beanstalkd 作为后端实现的简单队列机制。
安装
使用 composer 进行安装
composer require ronanchilvers\silex-queue-beanstalkd
我们假设您已经在某处运行了一个可访问的 Beanstalkd 实例,并且知道其网络地址。
配置
要使用队列服务,您需要按如下方式注册提供者
$app->register(new Ronanchilvers\Silex\Queue\QueueProvider());
默认情况下,这假设 Beanstalkd 在本地的默认端口(11300)上运行。
有几个配置指令可以帮助您使队列服务正常工作。您可以使用正常的 Silex 方式传递这些指令,如下所示
$app->register(new Ronanchilvers\Silex\Queue\QueueProvider(), [ 'queue.options' => [ 'host' => '1.2.3.4' ] ]);
可用的配置键有
- host : Beanstalkd 主机(默认 localhost)
- port : Beanstalkd 端口(默认 11300)
- timeout : Beanstalkd 连接的超时时间(默认 2 秒)。此选项直接传递给 Pheanstalk。
- persistent : 是否使用持久连接到 Beanstalkd(默认 false)。此选项直接传递给 Pheanstalk。
- default.queue : 默认队列用于推送/拉取。在发布/消费时可以覆盖队列。
- max.iterations : 使用队列:消费 CLI 命令时,工作器在退出前执行的最大迭代次数
消费命令
提供了一个用于与 symfony/console
一起使用的简单消费命令。该命令需要 knplabs/console-service-provider
包,因为它需要访问 Application 对象。要使用它,您可以进行如下操作
$console->add(new Ronanchilvers\Silex\Queue\Console\Command\ConsumeCommand());
这将向控制台应用程序添加一个 queue:消费 命令。