Beispiel #1
0
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"
Beispiel #2
0
 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
Beispiel #3
0
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