有什么办法可以从命令行读取仲裁员管理的枪支活跃工人的数量?

时间:2018-08-26 10:07:08

标签: python gunicorn instrumentation

here所述 Gunicorn使用基于UDP的statsD协议为仲裁员和工作人员提供了可选的工具。

我的问题:有什么方法可以在不安装statsD的情况下从命令行实时读取活跃的(即处理某些请求的)枪械工人的数量?我的服务器平均负载有时会达到峰值,我想看看那段时间有多少古尼康工人忙吗?

2 个答案:

答案 0 :(得分:4)

Gunicorn的默认statsd跟踪实际上并不跟踪活动工人与非活动工人。它只是告诉您工人总数,几乎没有用。

但是Gunicorn确实提供了服务器挂钩,可让您在过程中的各个点运行代码。这是我想出的解决方案:

A

您必须将其放入配置文件中,然后在启动gunicorn时引用该配置文件。

$message = new SlackMessage; foreach($something as $something_else){ $message->attachment(function (SlackAttachment $attachment) { $attachment->title('Title1') ->image('Image1.jpg'); }) } return $message

如果您不想使用statsd,则可以使用相同的触发器,但可以将信号传递给可以保留计数的任何其他程序,然后sc = statsd.StatsClient(domain, port, prefix=statsd_prefix) def pre_request(worker, req): # Increment busy workers count sc.incr('busy_workers', 1) def post_request(worker, req, environ, resp): # Decrement busy workers count sc.decr('busy_workers', 1) 使其在命令行上查看。

答案 1 :(得分:0)

不确定是否有任何特定命令。

但是通常可以使用shell来完成。 Number of workers mean number of processes.因此,您可以简单地检查所有活动的进程,然后找到其中有黑角蛋白的所有进程,然后计算所有此类条目。切记要排除grep搜索,因为它也有gunicorn。

您的命令将如下所示。

  

ps aux | grep gunicorn | grep -v grep | wc -l <​​/ p>