def getRandomMessage():
    if not dataStoreHasMessages():
        Tasks.startMessageGetTask()
        logging.info("Tasks are empty")
        return None
    continueWithLoop = True;
    while continueWithLoop:
        maxIndex = getMaxIndex()
        randomIndex = random.randint(0, maxIndex)
        randomMessageQuery = getMessageByIDCheckingForDuplicates(randomIndex)
            
        randomMessages = randomMessageQuery.get()
        if randomMessages != None:
            break;
        else:
            logging.warning("Could not get message for insert value " + str(randomIndex))
    return randomMessages