concurrency - Celery: worker 数量与并发性

标签 concurrency celery web-worker django-celery celeryd

有什么区别:

  • 一个并发 4 或
  • 的 worker
  • 两个并发 2 个工作线程

  • 对于同一个队列。

    谢谢

    最佳答案

    我假设您在同一台机器上运行两个 worker 。在这种情况下,我建议您为队列维护一名工作人员。

  • 同一队列的两个工作人员 不会以任何方式使您受益。它只会增加内存浪费。
  • 当您有多个队列时,两个或多个工作人员 ,以保持优先级或为每个 worker 分配不同数量的内核。
  • 单个队列的两个或多个工作人员 如果您在不同的机器上运行工作程序,则很有用。不同机器上的工作人员消耗来自同一队列的任务,您可以根据每台机器上可用的内核分配并发。

  • 我确实意识到我在 2 年后做出了回应。但我只是想我会把它放在这里给仍然有类似疑问的人。

    关于concurrency - Celery: worker 数量与并发性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46542478/

    相关文章:

    javascript - Web Worker 的消息有多快?

    java - 为 BlockingQueue(或其他东西)提供 + drainTo 的非阻塞方式

    java - 使用 Swing 的多线程

    python - Django、RabbitMQ 和 Celery - 为什么在我更新开发中的 Django 代码后 Celery 运行我的任务的旧版本?

    python - celery 周期性任务不执行

    multithreading - nodejs - 我发现多线程或使用多个进程比单个进程慢。为什么?

    go - 实现并发的失败尝试

    java concurrency : many writers, 一个读者

    rabbitmq - WSL : ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127. 0.0.1:5672//:套接字已关闭

    angular - new Worker() 只有在传递一个字符串时才会被捆绑