【问题标题】:Redis-Queue (RQ) Task Queues in Production生产中的 Redis-Queue (RQ) 任务队列
【发布时间】:2018-12-20 07:41:14
【问题描述】:

我最近开始在我的 Django 程序中需要一个任务队列,我担心它在未来会变得多么强大,或者生产部署需要克服哪些问题。

我正在使用 Python 的 Redis-Queue 或 RQ 库,它比 Celery(我还没有完全学会)之类的东西更容易学习和使用。有人对此有任何意见吗?你认为 RQ 与 Redis 结合在生产环境中是否可行,或者你会使用其他东西吗?大型应用程序使用什么来进行任务排队?

【问题讨论】:

    标签: python django redis task production-environment


    【解决方案1】:

    据我所知,Celery 在生产环境中工作,对于 Python/Django,最成熟的基于分布式消息传递的同步任务队列/作业队列的实现,使用 Redis 作为代理就可以了。

    您在生产中需要的不仅仅是发送一条简单的消息,而是一个高级 API:

    • 缩放、自动缩放。
    • 实时监控。
    • 任务调度程序。
    • 优先级。
    • 多代理支持。
    • 基于工作流的任务。

    Celery 已经准备好了。

    【讨论】:

      【解决方案2】:

      是的,redis 和 redis-queue 很容易设置。是的,它们可以在生产系统中使用。你也可以看看 RabbitMQ。它可以用作任务队列。它支持用于扩展的持久性和集群。

      【讨论】:

      • 你能告诉我RabbitMQ是否可以独立使用还是需要像Celery这样的东西来搭配它?我已经研究了 RabbitMQ,但似乎我必须使用 Celery 或构建某种自定义处理程序来配合它。 (编辑:我确实找到了stackoverflow.com/questions/9077687/…,但仍然想要一些额外的观点。)
      猜你喜欢
      • 2017-03-28
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 2017-09-30
      • 1970-01-01
      相关资源
      最近更新 更多