def get(self): logging.info("Start syncing all by force. For this operation to have effect, you have to delete the slave rows manually first!") if self.request.get('id'): # for debugging, to limit sync to specific table configurations = [customer_configuration.get_configuration(self.request)] else: configurations = customer_configuration.get_configurations() running_too_long(initialize=True) # initialize try: logging.info("Start syncing by force") for configuration in [c for c in configurations if c['id'] != 'www']: # www is a fake configuration! logging.info("Start syncing %s by force" % configuration['id']) # in the master table, find all events with outdated sync condition = "'state' = 'public' ORDER BY 'sync date'" sync_outdated_events(configuration, condition) logging.info("Done syncing by force") # return the web-page content self.response.out.write("SyncHandler by force finished") return except RunningTooLongError: # first release pending inserts! fusion_tables.insert_go(configuration['slave table']) # then quit self.response.out.write("SyncHandler by force finished with leftovers") return
def get(self): logging.info( "Start syncing all by force. For this operation to have effect, you have to delete the slave rows manually first!" ) if self.request.get('id'): # for debugging, to limit sync to specific table configurations = [ customer_configuration.get_configuration(self.request) ] else: configurations = customer_configuration.get_configurations() running_too_long(initialize=True) # initialize try: logging.info("Start syncing by force") for configuration in [ c for c in configurations if c['id'] != 'www' ]: # www is a fake configuration! logging.info("Start syncing %s by force" % configuration['id']) # in the master table, find all events with outdated sync condition = "'state' = 'public' ORDER BY 'sync date'" sync_outdated_events(configuration, condition) logging.info("Done syncing by force") # return the web-page content self.response.out.write("SyncHandler by force finished") return except RunningTooLongError: # first release pending inserts! fusion_tables.insert_go(configuration['slave table']) # then quit self.response.out.write( "SyncHandler by force finished with leftovers") return
def get(self): if self.request.get('id'): # for debugging, to limit sync to specific table configurations = [ customer_configuration.get_configuration(self.request) ] else: configurations = customer_configuration.get_configurations() running_too_long(initialize=True) # initialize try: logging.info("Start syncing") for configuration in [ c for c in configurations if c['id'] != 'www' ]: # www is a fake configuration! logging.info("Start syncing %s" % configuration['id']) # in the master table, find all new events condition = "'state' = 'new'" sync_new_events(configuration, condition, don_t_run_too_long=True) # in the master table, find all updated events condition = "'state' = 'updated'" sync_updated_events(configuration, condition, don_t_run_too_long=True) # in the master table, find all cancelled events condition = "'state' = 'cancelled'" sync_cancelled_events(configuration, condition) # in the master table, find all cancellations older than one month today_minus_one_month = ( datetime.today() - timedelta(days=30)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'state' = 'cancellation' and 'update date' < '%s'" % today_minus_one_month sync_one_month_old_cancellations(configuration, condition) # in the master table, find all events with outdated sync today_minus_one_month = ( datetime.today() - timedelta(days=30)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'state' = 'public' and 'sync date' < '%s'" % today_minus_one_month sync_outdated_events(configuration, condition) # in the master table, find all events with final date in the past (*) yesterday = ( datetime.today() - timedelta(days=1)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'final date' < '%s'" % yesterday sync_events_with_final_date_passed(configuration, condition) # in the slave table, find all events with end date in the past (*) yesterday = ( datetime.today() - timedelta(days=1)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'end' < '%s'" % yesterday sync_passed_events(configuration, condition) # in the master table, find all events flagged as updated (flag is set in submit.py) condition = "'update after sync' = 'true'" sync_old_version_of_updated_events(configuration, condition) # (*) yesterday, because this is running server time, and other timezones in the world # still need the event, while for the server it's already 'past' logging.info("Done syncing") # return the web-page content self.response.out.write("SyncHandler finished") return except RunningTooLongError: # first release pending inserts! fusion_tables.insert_go(configuration['slave table']) # then quit self.response.out.write("SyncHandler finished with leftovers") return
def get(self): if self.request.get('id'): # for debugging, to limit sync to specific table configurations = [customer_configuration.get_configuration(self.request)] else: configurations = customer_configuration.get_configurations() running_too_long(initialize=True) # initialize try: logging.info("Start syncing") for configuration in [c for c in configurations if c['id'] != 'www']: # www is a fake configuration! logging.info("Start syncing %s" % configuration['id']) # in the master table, find all new events condition = "'state' = 'new'" sync_new_events(configuration, condition, don_t_run_too_long=True) # in the master table, find all updated events condition = "'state' = 'updated'" sync_updated_events(configuration, condition, don_t_run_too_long=True) # in the master table, find all cancelled events condition = "'state' = 'cancelled'" sync_cancelled_events(configuration, condition) # in the master table, find all cancellations older than one month today_minus_one_month = (datetime.today() - timedelta(days=30)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'state' = 'cancellation' and 'update date' < '%s'" % today_minus_one_month sync_one_month_old_cancellations(configuration, condition) # in the master table, find all events with outdated sync today_minus_one_month = (datetime.today() - timedelta(days=30)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'state' = 'public' and 'sync date' < '%s'" % today_minus_one_month sync_outdated_events(configuration, condition) # in the master table, find all events with final date in the past (*) yesterday = (datetime.today() - timedelta(days=1)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'final date' < '%s'" % yesterday sync_events_with_final_date_passed(configuration, condition) # in the slave table, find all events with end date in the past (*) yesterday = (datetime.today() - timedelta(days=1)).strftime(FUSION_TABLE_DATE_TIME_FORMAT) condition = "'end' < '%s'" % yesterday sync_passed_events(configuration, condition) # in the master table, find all events flagged as updated (flag is set in submit.py) condition = "'update after sync' = 'true'" sync_old_version_of_updated_events(configuration, condition) # (*) yesterday, because this is running server time, and other timezones in the world # still need the event, while for the server it's already 'past' logging.info("Done syncing") # return the web-page content self.response.out.write("SyncHandler finished") return except RunningTooLongError: # first release pending inserts! fusion_tables.insert_go(configuration['slave table']) # then quit self.response.out.write("SyncHandler finished with leftovers") return