def map_locations_to_access_points_multiprocessed_for_the_user(user_id): user_locations = get_locations_from_file_for_user(user_id) user_locations = get_filtered_locations(user_locations) n = 4 chunked_list = chunks(user_locations, int(len(user_locations)/n)) chunked_list_user = [] for location_list in chunked_list: chunked_list_user.append((user_id, location_list)) p = Pool(processes=n) p.map(map_locations_to_access_points_for_user_locations, chunked_list_user)
def map_locations_to_access_points_for_the_user(user_id): print "Started for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime()) bssid_mapped_locations = defaultdict(list) user_locations = get_locations_from_file_for_user(user_id) user_locations = get_filtered_locations(user_locations) user_wifi_scans = get_wifi_scans_from_file_for_user(user_id) print "Ended data load up from file for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime()) print "Wifi scans: " + str(len(user_wifi_scans)) wifi_timestamps = user_wifi_scans.keys() wifi_timestamps = sorted(wifi_timestamps) print "Ended sorting for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime()) for location in user_locations: map_location_to_access_point(location, user_wifi_scans, bssid_mapped_locations, wifi_timestamps, user_id) print "Ended for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime()) print "Started mongo dump for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime()) while len(bssid_mapped_locations) > 0: write_observations_to_mongo(bssid_mapped_locations.popitem()) print "Ended mongo dump for user id: " + str(user_id) + " at " + time.strftime("%H:%M:%S", time.localtime())