示例#1
0
def cli(port, root_dir, global_dir, data_dir, config_dir, artifact_dir,
        backup_dir, prod, workers, gunicorn_config, log_level, device_type,
        auth, logging_conf):
    if not os.path.isdir(RUBIX_REGISTRY_DIR):
        os.mkdir(RUBIX_REGISTRY_DIR)
    migrate()
    setting = AppSetting(port=port,
                         root_dir=root_dir,
                         global_dir=global_dir,
                         data_dir=data_dir,
                         config_dir=config_dir,
                         artifact_dir=artifact_dir,
                         backup_dir=backup_dir,
                         prod=prod,
                         device_type=device_type,
                         auth=auth).reload()
    DeviceInfoResource.store_device_info_if_does_not_exist()
    options = {
        'bind':
        '%s:%s' % ('0.0.0.0', setting.port),
        'workers':
        1,
        'loglevel': (log_level if log_level is not None else
                     'ERROR' if prod else 'DEBUG').lower(),
        'preload_app':
        False,
        'config':
        gunicorn_config,
        'logconfig':
        logging_conf
    }
    GunicornFlaskApplication(setting, options).run()
示例#2
0
def cli(port, global_dir, data_dir, config_dir, identifier, prod, workers, setting_file, logging_conf, gunicorn_config,
        log_level):
    setting = AppSetting(port=port, global_dir=global_dir, data_dir=data_dir, config_dir=config_dir,
                         identifier=identifier, prod=prod).reload(setting_file)
    options = {
        'bind': '%s:%s' % ('0.0.0.0', setting.port),
        # 'workers': workers if workers is not None else number_of_workers() if prod else 1,
        'workers': 1,  # TODO: reimplement when multi-workers fixed
        # 'logconfig': logging_conf,
        'preload_app': False,
        'config': gunicorn_config
    }
    GunicornFlaskApplication(setting, options).run()
示例#3
0
def cli(port, global_dir, data_dir, config_dir, prod, workers, setting_file,
        logging_conf, gunicorn_config):
    setting = AppSetting(port=port,
                         global_dir=global_dir,
                         data_dir=data_dir,
                         config_dir=config_dir,
                         prod=prod).reload(setting_file)
    options = {
        'bind': '%s:%s' % ('0.0.0.0', setting.port),
        'workers': 1,
        'logconfig': logging_conf,
        'preload_app': False,
        'config': gunicorn_config
    }
    GunicornFlaskApplication(setting, options).run()
示例#4
0
        "attempt_reconnect_secs": 5,
        "publish_value": true,
        "topic": "rubix/points/generic/cov"
      },
      "mqtt": [
        {
          "enabled": true,
          "name": "rubix_points",
          "host": "0.0.0.0",
          "port": 1883,
          "keepalive": 60,
          "qos": 1,
          "attempt_reconnect_on_unavailable": true,
          "attempt_reconnect_secs": 5,
          "publish_value": true,
          "topic": "rubix/points"
        }
      ]
    }
    '''
    app_setting = AppSetting().reload(setting, is_json_str=True)
    print(type(app_setting.mqtt_settings))
    print(type(app_setting.services))
    print(type(app_setting.services.mqtt))
    print('-' * 30)
    assert len(app_setting.mqtt_settings) == 1
    print(app_setting.serialize())
    print('=' * 30)
    print('Default')
    print(AppSetting().serialize())
示例#5
0
from flask_migrate import MigrateCommand, Migrate
from flask_script import Manager

from src import db, AppSetting, create_app

setting: AppSetting = AppSetting().reload(AppSetting.default_setting_file)
app = create_app(setting)

migrate = Migrate(app, db, compare_type=True, render_as_batch=True)

manager = Manager(app)
manager.add_command('db', MigrateCommand)

if __name__ == '__main__':
    manager.run()
示例#6
0
def create_internal_token(app_setting: AppSetting):
    internal_token = UserModel.encode_jwt_token("internal_user").get(
        "access_token")
    write_file(app_setting.internal_token_file, internal_token)
    app_setting.internal_token = f'Internal {internal_token}'