def __init__(self,webServerMap, externalServerMap):
     self.updateWebServerMap(webServerMap, externalServerMap)
     for i in webServerMap.values():#while starting inform all other local servers to update this map
         try:
             print AndroidUtils.get_data(i+"/func?task=updateServerMap",urllib.urlencode({"webServerMap":json.dumps(webServerMap) , "externalWebServerMap":json.dumps(ExternalWebServersMap)})).read()
         except:
             print sys.exc_info()[0]
Example #2
0
def sendGcmMessages():
    while(len(userGcmMessageQueue)>0):
        uids , packetData = userGcmMessageQueue.pop()
        registrationIds = None
        if(isinstance(uids, list)):
            registrationIds = []
            for uid in uids:
                user = dbUtils.getUserByUid(uid)
                if(user and user.gcmRegId):
                    registrationIds.append(user.gcmRegId)
            if(registrationIds):
                addGcmToQueue(registrationIds, packetData)            
        else:
            user =dbUtils.getUserByUid(uids)
            if(user and user.gcmRegId):
                addGcmToQueue([user.gcmRegId], packetData)            
                                          
    c = len(gcmQueue)
    if(c >0):
        for i in range(min(c , GCM_BATCH_COUNT)):
            data = gcmQueue.pop()  # { registrationIds:[] , data :{} }
            data = json.dumps(data)
            logging.info("GCM:PUSH:")
            logging.info(data)
            logging.info(AndroidUtils.get_data('https://android.googleapis.com/gcm/send',post= data,headers = GCM_HEADERS).read()) 
Example #3
0
def sendGcmMessages():
    while (len(userGcmMessageQueue) > 0):
        uids, packetData = userGcmMessageQueue.pop()
        registrationIds = None
        if (isinstance(uids, list)):
            registrationIds = []
            for uid in uids:
                user = dbUtils.getUserByUid(uid)
                if (user and user.gcmRegId):
                    registrationIds.append(user.gcmRegId)
            if (registrationIds):
                addGcmToQueue(registrationIds, packetData)
        else:
            user = dbUtils.getUserByUid(uids)
            if (user and user.gcmRegId):
                addGcmToQueue([user.gcmRegId], packetData)

    c = len(gcmQueue)
    if (c > 0):
        for i in range(min(c, GCM_BATCH_COUNT)):
            data = gcmQueue.pop()  # { registrationIds:[] , data :{} }
            data = json.dumps(data)
            logging.info("GCM:PUSH:")
            logging.info(data)
            logging.info(
                AndroidUtils.get_data(
                    'https://android.googleapis.com/gcm/send',
                    post=data,
                    headers=GCM_HEADERS).read())
Example #4
0
 def __init__(self,dbUtils):
     self.dbUtils = dbUtils
     self.reloadServers()
     
     secretKey = SecretKeys.objects()[0].secretKey
     for server in self.servers.values():#while starting inform all other local servers to update this map
         try:
             Utils.logger.info(server.addr+"/func?task=reloadServerMap&secretKey="+secretKey)
             Utils.logger.info(AndroidUtils.get_data(server.addr+"/func?task=reloadServerMap&secretKey="+secretKey).read())
         except:
             Utils.logger.error(sys.exc_info()[0])