Exemplo n.º 1
0
def __write_data(conf, data, module="", loglevel="ERROR"):
    client = __connect_influx(conf)
    client.switch_database(conf["database"])

    log = logger.instance(module, loglevel)

    for i in range(MAX_WRITE_ATTEMPTS):
        try:
            if client.write_points(data):
                log.info("InfluxDB write OK")
                break
            else:
                log.warning("Can't write to InfluxDB")
            time.sleep(i + 1)
        except Exception as ex:
            s = str(ex).replace("b'", "").replace("\\n'",
                                                  "")  #.replace("'","\"")
            err = json.loads(s).get("error")
            log.error("InfluxDB write error - {}".format(err))
    client.close()
Exemplo n.º 2
0
import threading
import os, time
import logger

logger = logger.instance(__name__, os.environ.get('LOG_REPTIMER', 'ERROR'))


class RepeatedTimer(object):
    # https://stackoverflow.com/questions/18018033/how-to-stop-a-looping-thread-in-python

    actionThread = None
    stopEvent = None

    def __init__(self, interval, function, args=[]):
        self.interval = interval
        self.action = function
        self.args = args

    def handle(self, stopEvent, action, args, interval):
        cnt = interval
        while not stopEvent.is_set():
            if cnt >= interval:
                try:
                    action(*args)
                except Exception as ex:
                    print(ex)
                    # self.stop()   # QUESTION
                    break
                cnt = 0
            cnt += 1
            if interval > 0:
Exemplo n.º 3
0
from app import app
from flask import request
from flask import jsonify
import os
import logger, tools

logger = logger.instance(
    __name__, os.environ.get('LOG_APP_ROUTES', app.config['LOGGING']))


# =========================================================
#  R O U T E   H A N D L E R S
#
# ---------------------------------------------------------
#  index page
@app.route('/')
@app.route('/index')
def index():
    return jsonify(tools.get_active_miners())


# ---------------------------------------------------------
Exemplo n.º 4
0
from app import app
from flask import request
from flask import jsonify
import os, json
import logger

logger = logger.instance(__name__, os.environ.get('LOG_LEVEL', app.config['LOGGING']))

def get_active_miners():
    miners = []
    for f in os.listdir(app.config['DATA_DIR']):
        with open(os.path.join(app.config['DATA_DIR'], f)) as miner_config:
            mc = json.load(miner_config)
            miners.append(mc)
    return miners