【问题标题】:celery always has 3 processes, why?celery 总是有 3 个进程,为什么?
【发布时间】:2014-10-26 05:11:36
【问题描述】:

我使用 celery(3.1 版)任务和 django(1.6.5 版。使用它的 orm)运行爬虫应用程序。命令是:

celery -A crawlerproj worker -P gevent -c 1000 -l info

通过在 Ubuntu 中使用“htop”,我看到 celery 总是有 3 个进程。还有 5 个 mysqldb 进程。我不知道为什么。 celery 和 mysqldb 的数量可以减少吗?

我的 vps 有 1G 内存和 1 个核心。这是 htop 结果的快照。

【问题讨论】:

标签: django celery mysql-python


【解决方案1】:

默认情况下,celery 启动的工作进程与它认为您拥有的处理器/内核/线程一样多:http://celery.readthedocs.org/en/latest/configuration.html

如果您主要执行 I/O,您可以拥有更多进程,但如果主要受 CPU 限制, 尽量让它接近你机器上的 CPU 数量。如果不设置,数量 将使用主机上的 CPU/内核。

【讨论】:

  • 但我的 vps 只有 1 个核心。所以你的意思是我的vps有3个CPU?
  • 我不知道 Celery 是如何猜测 VPS 的 CPU/内核/线程数的。在任何情况下,您都可以轻松更改文档中显示的默认值。
  • 我还有一个问题要问。 stackoverflow.com/questions/25955798/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 2013-06-05
  • 2023-04-08
相关资源
最近更新 更多