如here所述 Gunicorn使用基于UDP的statsD协议为仲裁员和工作人员提供了可选的工具。
我的问题:有什么方法可以在不安装statsD的情况下从命令行实时读取活跃的(即处理某些请求的)枪械工人的数量?我的服务器平均负载有时会达到峰值,我想看看那段时间有多少古尼康工人忙吗?
答案 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>