redis_broker

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

redis_broker

redis_broker

Redis como broker de mensajería para Celery ofrece la menor latencia posible (<1ms) para despacho de tareas. Es la opción preferida sobre RabbitMQ por simplicidad y rendimiento.
Redis作为Celery的消息代理,可提供极低的任务分发延迟(<1ms)。相较于RabbitMQ,它因简洁性和性能而成为首选方案。

When to use

适用场景

Usar en el
worker_pool_agent
como broker de mensajería para Celery. Redis ya está desplegado para caché, lo que reduce la complejidad operativa.
worker_pool_agent
中用作Celery的消息代理。Redis已被部署用于缓存,这降低了运维复杂度。

Instructions

配置说明

  1. Configurar en Celery:
    broker_url = 'redis://redis:6379/0'
    .
  2. Usar database separada del caché:
    /0
    para broker,
    /1
    para results.
  3. Configurar visibilidad de tareas:
    broker_transport_options = {'visibility_timeout': 3600}
    .
  4. Habilitar persistencia en Redis para no perder tareas en reinicios.
  5. Configurar
    broker_connection_retry_on_startup = True
    .
  6. Monitorizar profundidad de colas:
    redis-cli LLEN celery
    o via Flower.
  7. Alertar si la profundidad de cola supera el umbral configurado.
  1. 在Celery中配置:
    broker_url = 'redis://redis:6379/0'
  2. 使用与缓存分离的数据库:
    /0
    用于代理,
    /1
    用于结果存储。
  3. 配置任务可见性:
    broker_transport_options = {'visibility_timeout': 3600}
  4. 启用Redis持久化功能,避免重启时丢失任务。
  5. 配置
    broker_connection_retry_on_startup = True
  6. 监控队列长度:使用
    redis-cli LLEN celery
    或通过Flower工具。
  7. 当队列长度超过设定阈值时触发告警。

Notes

注意事项

  • Redis broker no soporta prioridades nativas; usar múltiples colas con workers dedicados.
  • Para garantías de entrega más estrictas, considerar RabbitMQ como alternativa.
  • El visibility_timeout debe ser mayor que el task time limit más largo.
  • Redis代理不原生支持优先级;可使用多队列搭配专用worker的方式实现。
  • 如需更严格的投递保障,可考虑选用RabbitMQ作为替代方案。
  • visibility_timeout的取值需大于最长的任务时间限制。