def fetchAndSaveData():
    global time_last
    try:
        datacollector = DataCollector()
        time_now = getTime()
        data = datacollector.getCarsData()
        oldDataFile = getFileName(time_last)
        print time_last
        if(os.path.exists(oldDataFile)):
            missingData = datacollector.getMissingCars(data,oldDataFile)
            for missingEntry in missingData:
                try:   
                    db.add_entry(Cars(missingEntry, time_now))
                except:
                    print 'Booking========================================================================================='
                    traceback.print_exc()
                    print missingEntry
            releasedData = datacollector.getReleasedCars(data,oldDataFile)
            for releasedEntry in releasedData:
                try:
                    db.updateEntry(releasedEntry, time_now)
                except:
                    print '========================================================================================='
                    print("Unexpected error:", sys.exc_info()[0])
                    traceback.print_exc()
                    print releasedEntry
        datacollector.writeToFile(data, getFileName(time_now))
        time_last = time_now
    except:
        print 'exception', sys.exc_info()[0]
        traceback.print_exc()