okvpn/redis-queue-bundle

为 oro-platform 服务的 redis 消息队列传输

安装: 75

依赖: 0

建议者: 0

安全: 0

星标: 5

关注者: 4

分支: 2

开放问题: 0

类型:symfony-bundle

1.1.1 2017-06-04 21:37 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:17 UTC


README

SensioLabsInsight Latest Stable Version License The Builds

该包集成了 OroMessageQueue 组件。相对于 DBAL,它为 oro-platform 提供了更快的 redis 消息队列传输。有关详细信息,请参阅OroMessageBundle

安装和测试依赖项

安装 Redis

sudo apt-get update
sudo apt-get install redis-server
sudo apt-get install php7.0-redis

检查 Redis 是否正在运行

redis-benchmark -q -n 5000

Output:
PING_INLINE: 102040.82 requests per second
PING_BULK: 208333.33 requests per second
SET: 238095.23 requests per second
GET: 227272.73 requests per second
INCR: 238095.23 requests per second
LPUSH: 227272.73 requests per second
LPOP: 217391.30 requests per second
SADD: 227272.73 requests per second
SPOP: 227272.73 requests per second
LPUSH (needed to benchmark LRANGE): 238095.23 requests per second
LRANGE_100 (first 100 elements): 90909.09 requests per second
LRANGE_300 (first 300 elements): 27472.53 requests per second
LRANGE_500 (first 450 elements): 19011.41 requests per second
LRANGE_600 (first 600 elements): 14619.88 requests per second
MSET (10 keys): 166666.67 requests per second

使用 composer 进行安装

composer require okvpn/redis-queue-bundle

用法

首先,您必须配置一个传输层并将其中一个设置为默认。对于配置设置。

# app/config/config.yml

oro_message_queue:
  transport:
    default: 'redis'
    redis:
      dsn: 'redis://pass@localhost:6379/0'

我们可以通过参数配置支持的传输之一

# app/config/config.yml

oro_message_queue:
    transport:
        default: '%message_queue_transport%'
        '%message_queue_transport%': '%message_queue_transport_config%'
    client: ~
# app/config/parameters.yml

    message_queue_transport: 'redis'
    message_queue_transport_config: { dsn: 'redis://pass@localhost:6379/0' }

Supervisord

如您之前所读,您必须保持运行 oro:message-queue:consume 命令,为此我们建议您将此责任委托给 Supervisord。通过以下程序配置,Supervisord 会持续运行四个 php app/console oro:message-queue:consume 命令的实例,并在任何原因导致实例死亡时负责重启。

[program:oro_message_consumer]
command=/path/to/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=www-data

许可证

MIT 许可证。