Пример #1
0
def main():
    run_count = 0
    run_error_threshold = 15
    
    usage = 'usage: %prog [-d] [-v] [-c CONFIG]'
    parser = optparse.OptionParser(usage=usage, version="%prog " + VERSION)
    parser.add_option("-d", "--debug", help="Enable debug output.",
                      action="store_true", dest="debug", default=False)
    parser.add_option("-c", "--config",
                      dest="configfile", default="/etc/eko/eko.conf",
                      metavar="CONFIG", help="Path to configuration file.")
    
    (options, args) = parser.parse_args()
    if options.configfile is not None:
        configfile = options.configfile
    else:
        configfile = '/etc/eko/eko.cfg'
    loglvl_console = logging.DEBUG if options.debug else logging.INFO
    
    logger = LogHelper.getLoggerInstance(verbose_level=loglvl_console)
    try:
        board_rev = Beagleboard.get_board_revision()
        logger.info("Beagleboard Revision 0x%02x" % board_rev)
    except:
        logger.exception("Unable to test board revision, defaulting to XM rev C")
    
    # create datalogger instance and run it
    while True:
        try:
            logger.info("Executing main code with config %s. Attempt #%d." % (configfile, run_count))
            datalogger = DataLogger(configfile)
            time.sleep(5)
            datalogger.run()
        except KeyboardInterrupt:
            sys.exit(0)
        except:
            run_count += 1
            if run_count > run_error_threshold:
                logger.critical("Too many crashes, exiting.")
                sys.exit(-1)
            logger.exception("DataLogger crashed! Attempting to retry.")
Пример #2
0
from ConfigParser import ConfigParser

import eko.Util.LogHelper as LogHelper
import eko.Util.DBSetup as DBSetup

import os.path

from os import makedirs

from eko.Sensors.Dispatcher import EkoDispatcher

import eko.SystemInterface.OSTools as OSTools

import eko.SystemInterface.Beagleboard as Beagleboard


logger = LogHelper.getLoggerInstance()
logger.setLevel(logging.DEBUG)

if __name__=="__main__":
    if not os.path.exists('/data/configdumps'):
        makedirs('/data/configdumps')
    if len(sys.argv) <  2:
        print 'USAGE: configsingle.py [PATH TO CONFIG FILES]'
        sys.exit(0)
    cfgpath = sys.argv[1]
    dispatch = EkoDispatcher(datapath='/data/configdumps', sensorcfgpath=cfgpath)
    dispatch.import_configs()
    logger.info("Dispatching all sensor config operations.")
    dispatch.dispatch_all()
Пример #3
0
import eko.Util.LogHelper as LogHelper
import eko.Util.DBSetup as DBSetup

from eko.Sensors.Dispatcher import EkoDispatcher

import eko.SystemInterface.OSTools as OSTools

import eko.SystemInterface.Beagleboard as Beagleboard

from eko.ThirdParty import ping
import eko.WebService.ClientMessages as CMsgs

from eko_logger_alwayson_net import DataLogger

logger = LogHelper.getLoggerInstance(verbose_level=logging.DEBUG)
logger.setLevel(logging.DEBUG)

def upload_data():
    datalogger=DataLogger('/etc/eko/eko.cfg')
    datalogger.upload_data_messages()
    datalogger.upload_kiosk_messages()
    datalogger._download_server_messages()
    datalogger.upload_logs()

def insert_kiosk_messages():
    CMsgs.add_clientmessage('ABCDEF\nLoremIpsum', '1234', 'Test', datetime.utcnow())
    CMsgs.add_clientmessage('Gazzzz\nLoremIpsum', '2', 'Test', datetime.utcnow())
    CMsgs.add_clientmessage('ABCDEF\Booo', '3', 'cxcx', datetime.utcnow())
    CMsgs.add_clientmessage('Lolololol\nLoremIpsum', '5', '3', datetime.utcnow())
    return