Пример #1
0
    def __init__(self, logfile):
        super(Solver, self).__init__()
        self.pid = os.getpid()

        self.logger.info("(PID %s) - starting Solver", str(self.pid))

        #Waste Space parameters
        self.delta = 1  # 1 MB #
        self.size = self.delta
        self.name = '/tmp/tmp%s' % randomword(8)
        self.logger.info(os.getcwd())

        #App Specific parameters
        self.solverID = 1
        print("solverID %s" % self.solverID)
        self.solution = None
        self.objective = 0
        self.connected = 0
        self.new_offers = False
        self.solver = MatchingSolver(MICROGRID)
        self.buying_offers = []
        self.selling_offers = []
        self.finalized = -1
        self.waiting_solutionID = False
        self.PREDICTION_WINDOW = 5
        self.recordTime = False
        self.interval_trades = {}
        self.solutions = {}
        self.ISID = 0
        self.DeadLine = 0.5  #seconds ideally this would be gotten from the framework API
        self.Pgain = 25  #50
        self.PWMax = 50
        self.priorPW = self.PREDICTION_WINDOW

        self.logpath = '/tmp/' + logfile + '.log'
        self.killLog = 'killLog.log'
        try:
            os.remove(self.logpath)
        except OSError:
            pass
        self.fh = logging.FileHandler(self.logpath)
        self.fh.setLevel(logging.INFO)
        self.fh.setFormatter(self.logformatter)
        self.logger.addHandler(self.fh)
        self.logger.info("(PID %s) - starting Solver", str(self.pid))
        self.s = open('/dev/zero').read(1024 * 100 - 1)

        self.dbase = Database()
        self.dbase.post(now=datetime.datetime.now(),
                        tag_dict={"object": "Solver_" + str(self.solverID)},
                        seriesName="PWMax",
                        value=self.PWMax)

        self.uid = os.geteuid()
        #         self.logger.info("UID: %s" %self.uid)
        self.username = pwd.getpwuid(self.uid)[0]
        #         self.logger.info("USERNAME: %s" %self.username)

        self.thisProcess = psutil.Process(self.pid)
        self.cpuUtil = self.thisProcess.cpu_percent()
Пример #2
0
    def __init__(self, logfile):
        super(TSMrecv, self).__init__()
        self.pid = os.getpid()
        self.logger.info("(PID %s) - starting TSM receiver",str(self.pid))

        self.dbase = Database()  

        logpath = '/tmp/' + logfile + '.log'
        try: os.remove(logpath)
        except OSError: pass
        self.fh = logging.FileHandler(logpath)
        self.fh.setLevel(logging.WARNING)
        self.fh.setFormatter(self.logformatter)
        self.logger.addHandler(self.fh)

        self.logger.warning("(PID %s) - starting TSM receiver",str(self.pid))
Пример #3
0
    def __init__(self,ID,logfile):
        super(Trader, self).__init__()
        self.pid = os.getpid()
        self.logger.info("(PID %s) - starting Trader",str(self.pid))

        self.prosumer_id = ID
        self.net_production = self.read_data(self.prosumer_id)
        self.selling_offers = set()
        self.buying_offers = set()
        self.connected =0

        self.dbase = Database()

        self.role = None
        self.roleID = 0
        #self.grid = zmq.Context().socket(zmq.PUB)
        #self.grid.bind('tcp://127.0.0.1:2000')
        self.interval_asks = {}
        self.interval_bids = {}
        self.interval_trades ={}
        self.finalized = -1

        #RESOURCE MANAGEMENT PARAMETERS
        #NETWORK
        self.blk = 512
        self.min = 1*self.blk
        self.max = 4*self.blk
        self.msg_size = self.min


        logpath = '/tmp/' + logfile + '.log'
        self.killLog = 'killLog.log'
        try: os.remove(logpath)
        except OSError: pass
        self.fh = logging.FileHandler(logpath)
        self.fh.setLevel(logging.WARNING)
        self.fh.setFormatter(self.logformatter)
        self.logger.addHandler(self.fh)

        self.logger.warning("(PID %s) - starting Trader",str(self.pid))
Пример #4
0
    def __init__(self, logfile):
        super(DSO, self).__init__()
        self.pid = os.getpid()
        self.logger.info("(PID %s) - starting DSO",str(self.pid))
        self.client = EthereumClient(ip=MINER, port=PORT)
        self.account = self.client.accounts()[0] # use the first owned address
        self.deploy_contract()
        self.next_interval = START_INTERVAL
        t = time()
        self.epoch = t - START_INTERVAL * INTERVAL_LENGTH

        self.dbase = Database()

        logpath = '/tmp/' + logfile + '.log'
        try: os.remove(logpath)
        except OSError: pass
        self.fh = logging.FileHandler(logpath)
        self.fh.setLevel(logging.WARNING)
        self.fh.setFormatter(self.logformatter)
        self.logger.addHandler(self.fh)

        self.logger.warning("(PID %s) - starting DSO",str(self.pid))
Пример #5
0
    def __init__(self, logfile):
        super(Recorder, self).__init__()
        self.pid = os.getpid()
        self.logger.info("(PID %s) - starting Recorder", str(self.pid))

        self.connected = 0
        self.interval_trades = {}
        self.finalized = -1
        self.solutions = collections.defaultdict(dict)
        self.solution2solver = {}
        self.dbase = Database()

        logpath = '/tmp/' + logfile + '.log'
        try:
            os.remove(logpath)
        except OSError:
            pass
        self.fh = logging.FileHandler(logpath)
        self.fh.setLevel(logging.WARNING)
        self.fh.setFormatter(self.logformatter)
        self.logger.addHandler(self.fh)

        self.logger.warning("(PID %s) - starting Recorder", str(self.pid))