HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //usr/lib/python2.7/site-packages/salt/modules/uwsgi.py
# -*- coding: utf-8 -*-
'''
uWSGI stats server https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html

:maintainer: Peter Baumgartner <pete@lincolnloop.com>
:maturity:   new
:platform:   all
'''
# Import Python libs
from __future__ import absolute_import, print_function, unicode_literals

# Import Salt libs
import salt.utils.json
import salt.utils.path


def __virtual__():
    '''
    Only load the module if uwsgi is installed
    '''
    cmd = 'uwsgi'
    if salt.utils.path.which(cmd):
        return cmd
    return (False, 'The uwsgi execution module failed to load: the uwsgi binary is not in the path.')


def stats(socket):
    '''
    Return the data from `uwsgi --connect-and-read` as a dictionary.

    socket
        The socket the uWSGI stats server is listening on

    CLI Example:

    .. code-block:: bash

        salt '*' uwsgi.stats /var/run/mystatsserver.sock

        salt '*' uwsgi.stats 127.0.0.1:5050
    '''

    cmd = ['uwsgi', '--connect-and-read', '{0}'.format(socket)]
    out = __salt__['cmd.run'](cmd, python_shell=False)
    return salt.utils.json.loads(out)