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()
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()
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()
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()
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()
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)
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())
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())
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(":")))
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()
def run_from_argv(self, argv): from gunicorn.app.wsgiapp import run sys.argv = self.get_argv(argv) sys.exit(run())
def run(): from gunicorn.app import wsgiapp wsgiapp.run()
import gunicorn.app.wsgiapp as wsgi wsgi.run()
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())
def run(argv=None): # Call gunicorn's run() wsgiapp.run()
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()
def main(): sys.argv = [sys.argv[0], 'pretty_httpbin:app', '--bind', '0.0.0.0:8000'] util.write = write_wrapper(util.write) run()
#-*- 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())
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()
def main(): message.MAX_REQUEST_LINE = 65534 run()
import sys from gunicorn.app.wsgiapp import run if __name__ == '__main__': sys.argv = ['gunicorn', 'server.wsgi', ' -k', 'gevent'] + sys.argv[1:] sys.exit(run())
# -*- 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()
def main(args): sys.argv = args wsgiapp.run()