Exemplo n.º 1
0
    def fromenv(cls):
        """
        Create a `wcraas_storage.Config` from Environment Variables.

        >>> conf = Config.fromenv()
        >>> type(conf)
        <class 'config.Config'>
        >>> conf._fields
        ('amqp', 'mongo', 'mapping', 'loglevel')
        >>> conf.amqp
        AMQPConfig(host='localhost', port=5672, user='******', password='******')
        >>> conf.mongo
        mongo = MongoConfig(host='localhost', port=27017, db='wcraas', user=None, password=None)
        >>> conf.mapping
        {}
        >>> conf.loglevel
        20
        """
        env = Env()
        env.read_env()

        return cls(
            amqp=AMQPConfig.fromenv(),
            mongo=MongoConfig.fromenv(),
            mapping=env.json("QUEUE_COLLECTION_MAP", "{}") or dict(),
            loglevel=getattr(logging, env.str("LOGLEVEL", "INFO")),
        )
Exemplo n.º 2
0
import os
from flask import Flask
from healthcheck import HealthCheck, EnvironmentDump
from environs import Env
import json
import logging
import requests
import sys

env = Env()
env.read_env()
urls = env.json("URL")
#urls = json.loads(os.environ["URL"])

app = Flask(__name__)


def setup_logging():
    if not app.debug:
        # In production mode, add log handler to sys.stderr.
        handler = logging.StreamHandler(sys.stdout)
        handler.setLevel(logging.INFO)
        formatter = logging.Formatter(
            "%(asctime)s %(name)-12s %(levelname)-8s %(message)s")
        handler.setFormatter(formatter)
        app.logger.addHandler(handler)


setup_logging()

for url in urls:
Exemplo n.º 3
0
# definition of tester cycle, it will test every CYCLE_TESTER second
CYCLE_TESTER = env.int('CYCLE_TESTER', 20)
# definition of getter cycle, it will get proxy every CYCLE_GETTER second
CYCLE_GETTER = env.int('CYCLE_GETTER', 100)
GET_TIMEOUT = env.int('GET_TIMEOUT', 10)

# definition of tester
TEST_URL = env.str('TEST_URL', 'https://www.baidu.com')
TEST_TIMEOUT = env.int('TEST_TIMEOUT', 10)
TEST_BATCH = env.int('TEST_BATCH', 20)
# only save anonymous proxy
TEST_ANONYMOUS = True
TEST_HEADERS = env.json(
    'TEST_HEADERS',
    json.dumps({
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko'
        ') Chrome/54.0.2840.71 Safari/537.36',
    }))
# TEST_VALID_STATUS = env.list('TEST_VALID_STATUS', [200, 206, 302])
TEST_VALID_STATUS = env.list('TEST_VALID_STATUS', [200])

# definition of api
API_HOST = env.str('API_HOST', '0.0.0.0')
API_PORT = env.int('API_PORT', 5555)
API_THREADED = env.bool('API_THREADED', True)

# flags of enable
ENABLE_TESTER = env.bool('ENABLE_TESTER', True)
ENABLE_GETTER = env.bool('ENABLE_GETTER', True)
ENABLE_SERVER = env.bool('ENABLE_SERVER', True)
import logging
from environs import Env

env = Env()

training_service_config = {
    "host": env("TRAINING_SERVICE_HOST"),
    "port": env("TRAINING_SERVICE_PORT"),
    "api_train_path": env("TRAINING_SERVICE_API_TRAIN_PATH"),
    "timeout": env.int("TRAINING_REQUESTS_TIMEOUT"),
    "appinsights_key": env("APP_INSIGHTS_INSTRUMENTATION_KEY")
}

mlflow_models_mapping = env.json('MLFLOW_MODELS_MAPPING')
service_config = {
    "service_name": env("SERVICE_NAME"),
    "log_level": env.int("LOG_LEVEL", logging.INFO),
    "port": env.int("PORT", 80)
}