def init_classes_loader(): """ reads the data from the disk, parses and loads it to global variables. has to be changed if using WSGI servers aroung it (eg. apache) once global variables are not shared. """ with app.app_context(): print "initializing db" global requester global server global masterinfo if requester is None: requester = clustertools.requests if server is None: server = clusterclasses.master() if masterinfo is None: print "initializing broadcast listening" broadcaster = clustertools.broadcast_receiver() masterinfo = broadcaster.listenbroadcastserverinfo() print "db loaded"
def find_master(self): broadcaster = clustertools.broadcast_receiver() self.masterinfo = broadcaster.listenbroadcastserverinfo() if self.masterinfo is not None: self.masterinfo = self.masterinfo.strip().split(',') self.masterinfo[2] = '127.0.0.1' self.masteraddr = "http://%s:%s" % (self.masterinfo[2], self.masterinfo[3]) print "MASTER ADDRESS: '%s'" % self.masteraddr
def listen_broadcast(q): print "initializing broadcast listening" broadcaster = clustertools.broadcast_receiver() try: while (True): #print "calling broadcast listener" data = broadcaster.listenbroadcastserverinfo() q.put(data) #print "listened. sleeping" except KeyboardInterrupt: raise KeyboardInterrupError return 0