Ejemplo n.º 1
0
def run_gunicorn(argv: list) -> None:
    """Run the web server."""
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.development")
    django.setup()

    argv.append("conductor.wsgi:application")
    wsgiapp.run()
Ejemplo n.º 2
0
def main():
    dotenv_path = os.path.join(os.path.dirname(__file__), '.env')
    if os.path.exists(dotenv_path):
        load_dotenv(dotenv_path)

    sys.argv.append("Tblog:create_app()")
    wsgiapp.run()
Ejemplo n.º 3
0
def web(bind, workers, daemon, user, group, umask):
    '''Runs a production web server (Gunicorn).

    All command line options are passed to Gunicorn as is. See Gunicorn
    documentation for additional information on command line options.
    '''
    print(' * Starting a task worker (Gunicorn)')

    sys.argv.pop(0)
    sys.argv.append('diamond.app:app')

    gunicorn.run()
Ejemplo n.º 4
0
def gunicorn():
    """ wrapper around gunicorn. Retrieve some default values from Django settings.

    :return:
    """
    from gunicorn.app.wsgiapp import run

    set_env()
    from django.conf import settings
    parser = ArgumentParser(usage="%(prog)s subcommand [options] [args]", add_help=False)
    parser.add_argument('-b', '--bind', action='store', default=settings.BIND_ADDRESS, help=settings.BIND_ADDRESS_HELP)
    # parser.add_argument('--forwarded-allow-ips', action='store', default=','.join(settings.REVERSE_PROXY_IPS))
    parser.add_argument('--debug', action='store_true', default=False)
    parser.add_argument('-t', '--timeout', action='store', default=str(settings.REVERSE_PROXY_TIMEOUT), help=settings.REVERSE_PROXY_TIMEOUT_HELP)
    parser.add_argument('--proxy-allow-from', action='store', default=','.join(settings.REVERSE_PROXY_IPS),
                        help='Front-end\'s IPs from which allowed accept proxy requests (comma separate)')
    options, extra_args = parser.parse_known_args()
    sys.argv[1:] = extra_args
    __set_default_option(options, 'bind')
    # __set_default_option(options, 'forwarded_allow_ips')
    __set_default_option(options, 'timeout')
    __set_default_option(options, 'proxy_allow_from')
    application = 'djangofloor.wsgi_http:application'
    if application not in sys.argv:
        sys.argv.append(application)
    return run()
Ejemplo n.º 5
0
    def run_script(self):
        application = "djangofloor.wsgi.aiohttp_runserver:application"
        if application not in sys.argv:
            sys.argv.append(application)
        from gunicorn.app.wsgiapp import run

        return run()
Ejemplo n.º 6
0
    def run_script(self):
        application = "djangofloor.wsgi.aiohttp_runserver:application"
        if application not in sys.argv:
            sys.argv.append(application)
        from gunicorn.app.wsgiapp import run

        return run()
Ejemplo n.º 7
0
class StandaloneApplication(gunicorn.app.base.BaseApplication):
    def __init__(self, app, options=None):
        self.options = options or {}
        self.application = app
        super(StandaloneApplication, self).__init__()

    def load_config(self):
        config = dict([(key, value) for key, value in self.options.items()
                       if key in self.cfg.settings and value is not None])
        for key, value in config.items():
            self.cfg.set(key.lower(), value)

    def load(self):
        return self.application


# def run_app():
#     options = {
#         'worker-class': "gevent",
#         'bind': '{}:{}'.format(HOST, PORT),
#         'workers': '1',
#         'max-requests': "5000",
#         "max-requests-jitter": "5000",
#         "access-logfile": "{}".format(ACCESS_LOG),
#         "error-logfile": "{}".format(ERROR_LOG),
#     }
#     StandaloneApplication(app, options).run()

# sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])

    sys.argv[0] = 'gunicorn'
    del sys.argv[1]
    if settings.default.debug == 'True':
        sys.argv += [
            "-k", "gevent", "-w", "1", "--max-requests", "5000",
            "--max-requests-jitter", "5000", "--access-logfile", "-",
            "--error-logfile", "-", '-b', '{}:{}'.format(HOST, PORT),
            'cowry_admin:app'
        ]
    else:
        sys.argv += [
            "-k", "gevent", "-w", "1", "--max-requests", "5000",
            "--max-requests-jitter", "5000", "--access-logfile",
            "{}".format(ACCESS_LOG), "--error-logfile", "{}".format(ERROR_LOG),
            '-b', '{}:{}'.format(HOST, PORT), 'cowry_admin:app'
        ]

    # print(sys.argv)
    sys.exit(run())
def main():
    if len(sys.argv) == 2:
        listen = sys.argv[1]
    else:
        listen = '127.0.0.1:8000'
    if platform.system() != 'Windows':
        sys.argv = [
            '',
            '-b',
            listen,
            'mobsf.MobSF.wsgi:application',
            '--workers=1',
            '--threads=10',
            '--timeout=3600',
        ]
        from gunicorn.app.wsgiapp import run
        run()
    else:
        from waitress import serve
        from .MobSF import wsgi
        serve(wsgi.application,
              listen=listen,
              threads=10,
              channel_timeout=3600)
Ejemplo n.º 9
0
    def run(wrapper, app, host):
        print("run")

        if (wrapper.name).endswith(".py"):
            wrapper.fname = wrapper.name
            wrapper.name = (wrapper.name).replace(".py", "")
        else:
            wrapper.fname = wrapper.name + ".py"

        sys.argv = [
            re.sub(r'(-script\.pyw|\.exe)?$', '', "env/bin/gunicorn"),
            wrapper.name + ':' + app, "-b", host
        ]
        print(sys.argv)
        sys.exit(run())
Ejemplo n.º 10
0
def run_production_server():
    from gunicorn.app.wsgiapp import run

    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', 'gunicorn')
    sys.argv[1] = 'app.wsgi:app'

    os.environ['GUNICORN_CMD_ARGS'] = "--bind=0.0.0.0:{port} \
            --workers={num_workers} \
            --timeout={app_timeout} \
            --access-logfile=- \
            --error-logfile=- \
            --capture-output \
            --limit-request-line=0 \
            --preload".format(port=os.getenv('PORT', 5000),
                              num_workers=os.getenv('NUM_WORKERS', 4),
                              app_timeout=os.getenv('APP_TIMEOUT', 1200))

    sys.exit(run())
Ejemplo n.º 11
0
    def run(wrapper, app, host):
        print("run")
        if wrapper.server.upper() == "GUNICORN":
            if (wrapper.name).endswith(".py"):
                wrapper.fname = wrapper.name
                wrapper.name = (wrapper.name).replace(".py", "")
            else:
                wrapper.fname = wrapper.name + ".py"

            sys.argv = [
                re.sub(r'(-script\.pyw|\.exe)?$', '', "env/bin/gunicorn"),
                wrapper.name + ':' + app, "-b", host
            ]
            print(sys.argv)
            sys.exit(run())
        elif wrapper.server.upper() == "BJOERN":
            import bjoern
            bjoern.run(app, **(host.split(":")))
Ejemplo n.º 12
0
def gunicorn():
    """ wrapper around gunicorn. Retrieve some default values from Django settings.

    :return:
    """
    from gunicorn.app.wsgiapp import run
    set_env()
    from django.conf import settings
    parser = ArgumentParser(usage="%(prog)s subcommand [options] [args]",
                            add_help=False)
    parser.add_argument('-b', '--bind', default=settings.LISTEN_ADDRESS)
    parser.add_argument('-k',
                        '--worker-class',
                        default='gunicorn.workers.gthread.ThreadWorker')
    options, extra_args = parser.parse_known_args()
    sys.argv[1:] = extra_args
    __set_default_option(options, 'bind')
    __set_default_option(options, 'worker_class')
    application = 'easydjango.wsgi:gunicorn_application'
    if application not in sys.argv:
        sys.argv.append(application)
    return run()
Ejemplo n.º 13
0
 def run_from_argv(self, argv):
     from gunicorn.app.wsgiapp import run
     sys.argv = self.get_argv(argv)
     sys.exit(run())
Ejemplo n.º 14
0
def run():
    from gunicorn.app import wsgiapp
    wsgiapp.run()
Ejemplo n.º 15
0
import gunicorn.app.wsgiapp as wsgi

wsgi.run()
Ejemplo n.º 16
0
import sys
import gunicorn.app.wsgiapp as wsgi

sys.argv.append('-b 127.0.0.1:5000')
sys.argv.append('retadys:app')
sys.exit(wsgi.run())
Ejemplo n.º 17
0
def run(argv=None):
    # Call gunicorn's run()
    wsgiapp.run()
Ejemplo n.º 18
0
	if not channelid: return redirect(url_for("mainpage"))
	for id, timer in database.list_timers(channelid):
		if id in timer_sockets:
			for ws in timer_sockets[id]:
				ws.send(json.dumps({"type": "adjust", "delta": delta}))
	return "", 204

@app.route("/timer-force-all/<int:tm>")
@wants_channelid
def force_all_timers(channelid, tm):
	if not channelid: return redirect(url_for("mainpage"))
	for id, timer in database.list_timers(channelid):
		if id in timer_sockets:
			for ws in timer_sockets[id]:
				ws.send(json.dumps({"type": "force", "time": tm}))
	return "", 204

if __name__ == "__main__":
	import logging
	logging.basicConfig(level=logging.INFO)
	# Load us up using gunicorn, configured via the Procfile
	with open("Procfile") as f: cmd = f.read().strip().replace("web: ", "")
	if "PORT" not in os.environ: os.environ["PORT"] = "5000" # hack - pick a different default port
	sys.argv = cmd.split(" ")[1:] # TODO: Split more smartly
	from gunicorn.app.wsgiapp import run; run()
else:
	# Worker startup. This is the place to put any actual initialization work
	# as it won't be done on master startup.
	if database.tags_need_updating():
		threading.Thread(target=get_all_tags).start()
Ejemplo n.º 19
0
def main():
    sys.argv = [sys.argv[0], 'pretty_httpbin:app', '--bind', '0.0.0.0:8000']
    util.write = write_wrapper(util.write)
    run()
Ejemplo n.º 20
0
#-*- coding: utf-8 -*-
import re
import sys
from gunicorn.app.wsgiapp import run
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(run())
Ejemplo n.º 21
0
def start():
    launch_props = [('DATABASE_HOST', str), ('DATABASE_NAME', str),
                    ('TRY_CONNECTION_NUMBER', int), ('TRY_TIMEOUT', int),
                    ('DATABASE_USER', str), ('DATABASE_PASS', str),
                    ('DEFAULT_HOST', str), ('DEFAULT_PORT', int),
                    ('WORKER_PROCESSES', str), ('LOG_FILE', str)]

    pars_args = [
        ('--host', str, None, 'host to start application'),
        ('--port', int, None, 'port to start application'),
        ('--dbhost', str, None, 'database host'),
        ('--dbname', str, None, 'database name'),
        ('--dbuser', str, None, 'database user'),
        ('--config', str, namespace.CONFIG_FILE,
         'namespace to db config file'),
        ('--prcs', str, None, 'number of worker processes'),
        ('--logs', str, None, 'namespace to log files'),
    ]

    parser = utils.make_argument_parser(pars_args)

    config = utils.read_config(parser.config)

    if config:

        args_dict = defaultdict(dict)
        for section in config.sections():
            for option in config.options(section):
                args_dict[section.lower()][option] = config.get(
                    section, option)

        params = {
            'database': [('host', namespace.DATABASE_HOST),
                         ('name', namespace.DATABASE_NAME),
                         ('try_numbers', namespace.TRY_CONNECTION_NUMBER),
                         ('try_timeout', namespace.TRY_TIMEOUT),
                         ('user', namespace.DATABASE_USER),
                         ('password', namespace.DATABASE_PASS)],
            'application': [('host', namespace.DEFAULT_HOST),
                            ('port', namespace.DEFAULT_PORT),
                            ('processes', namespace.WORKER_PROCESSES)],
            'other': [('logfiles', namespace.LOG_FILE)]
        }

        val_list = []
        for section, items in params.items():
            for line in items:
                value = args_dict.get(section)
                val_list.append(value.get(line[0]) if value else line[1])

        for i in range(len(val_list)):
            if val_list[i]:
                namespace.__setattr__(launch_props[i][0],
                                      launch_props[i][1](val_list[i]))

    parser_keys = [
        'dbhost', 'dbname', '', '', 'dbuser', '', 'host', 'port', 'prcs',
        'logs'
    ]

    for i in range(len(parser_keys)):
        if parser.__contains__(parser_keys[i]):
            pars_val = parser.__getattribute__(parser_keys[i])

            if pars_val:
                namespace.__setattr__(launch_props[i][0],
                                      launch_props[i][1](pars_val))

    sys.argv = [
        sys.argv[0], '-b', '{}:{:d}'.format(namespace.DEFAULT_HOST,
                                            namespace.DEFAULT_PORT), '-w',
        namespace.WORKER_PROCESSES, 'app:app'
    ]

    run()
Ejemplo n.º 22
0
def main():
    message.MAX_REQUEST_LINE = 65534
    run()
Ejemplo n.º 23
0
import sys

from gunicorn.app.wsgiapp import run


if __name__ == '__main__':
  sys.argv = ['gunicorn', 'server.wsgi', ' -k', 'gevent'] + sys.argv[1:]
  sys.exit(run())
Ejemplo n.º 24
0
# -*- coding: utf-8 -
#
# This file is part of gunicorn released under the MIT license.
# See the NOTICE for more information.

from gunicorn.app.wsgiapp import run

run()
Ejemplo n.º 25
0
def main(args):
    sys.argv = args
    wsgiapp.run()