def run_web_app(app_class):
    tornado_define('bind',
                   default='127.0.0.1:8000',
                   group='main',
                   help="server bind address")
    tornado.options.parse_command_line()
    enable_logging()
    instance = app_class.instance()
    bind_address, bind_port = tornado_options.bind.split(':', 1)

    if tornado_options.debug:
        instance.listen(int(bind_port), address=bind_address)
    else:
        server = tornado.httpserver.HTTPServer(instance)
        server.bind(int(bind_port), address=bind_address)
        server.start(tornado_options.workers)
    io_loop = tornado.ioloop.IOLoop.instance()
    instance.before_run(io_loop)
    io_loop.start()
Пример #2
0
 def register_options(name='master'):
     opt_name = '' if name == 'master' else '-%s' % name
     tornado_define('postgres%s-uri' % opt_name,
                    default='postgres:///',
                    group='%s database' % name,
                    help="postgresql connection uri for %s" % name)
     tornado_define('postgres%s-max-pool-size' % opt_name,
                    default=4,
                    group='%s database' % name,
                    help='connection pool size for %s ' % name)
     tornado_define('postgres%s-reconnect-interval' % opt_name,
                    default=5,
                    group='%s database' % name,
                    help='reconnect interval for %s' % name)
from os.path import join as path_join, dirname
from tornado.gen import coroutine
from tornado.options import (define as tornado_define, options as
                             tornado_options, parse_config_file)
from tornado.process import fork_processes
from tornado.util import import_object
from warnings import warn
import logging
import logging.config
import tornado.httpserver
import tornado.ioloop
import tornado.web

tornado_define('workers',
               default=1,
               group='main',
               help="num of workers",
               type=int)
tornado_define('debug', default=False, help="debug", group='main', type=bool)
tornado_define("logging-config",
               default='',
               group='main',
               help="path to logging config file")
tornado_define("config",
               type=str,
               help="path to config file",
               group='main',
               callback=lambda path: parse_config_file(path, final=False))
tornado_define('logging',
               default='info',
               group='main',
Пример #4
0
#    [________]_|__|________)<     |YANG|
#     oo    oo  'oo OOOO-| oo\\_   ~o~~~o~
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                             23 Jan, 2016
#
from devsniff.utils import partition
from tornado.options import (define as tornado_define,
                             options as tornado_options)
from urlparse import urlparse
from os.path import exists as file_exists
import functools
import sqlite3
import logging


tornado_define('database', default='sqlite://devsniff.db',
               help="path to sqlite file")


LOG = logging.getLogger('tornado.application')


class SQLiteConnectorError(Exception):
    pass


class SQLiteConnector(object):

    _instances = dict()

    @staticmethod
    def instance(name='master'):
Пример #5
0
#                             23 Jan, 2016
#
from devsniff import db_api
from devsniff.utils import parse_bind_address, route
from tornado.options import (define as tornado_define,
                             options as tornado_options,
                             parse_config_file)
from os.path import join as path_join, dirname
from tornado.util import import_object
from tornado.web import Application as TornadoWebApplication

import tornado.ioloop
import tornado.httpserver


tornado_define("debug", default=False, help="debug", type=bool)
tornado_define("bind", default='0.0.0.0:8888',
               help="proxy listen address")
tornado_define("config", type=str, help="path to config file",
               callback=lambda path: parse_config_file(path, final=False))


def init_app():
    db_api.init()
    from devsniff.proxy import ProxyProfile
    ProxyProfile.instance().load(1)


def start():
    from tornado.log import enable_pretty_logging
    enable_pretty_logging()
#     oo    oo  'oo OOOO-| oo\\_   ~o~~o~
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                              2 Feb, 2016
#
from {{cookiecutter.project_slug}}.common.app import WebApplication, run_app
{%- if cookiecutter.use_database == 'y' %}
from {{cookiecutter.project_slug}}.common import postgres
{%- endif %}
from tornado.options import (define as tornado_define,
                             options as tornado_options)
import logging

LOG = logging.getLogger('tornado.application')

{%- if cookiecutter.use_database == 'y' %}
tornado_define('postgres-uri', default='postgres:///', group='database',
               help="postgresql connection uri")
tornado_define('postgres-max-pool-size', default=4, group='database',
               help='maximum connection pool size of PostgreSQL')
tornado_define('postgres-reconnect-interval', default=5, group='database',
               help='maximum connection pool size of PostgreSQL')
{%- endif %}


class WebAppServer(WebApplication):

    enabled_apps = ['{{cookiecutter.project_slug}}.apps.default']

    def before_run(self, io_loop):
        LOG.info('starting default server ...')
        {%- if cookiecutter.use_database == 'y' %}
        postgres_settings = dict(