def QueryMySql(query): # Create object for internal database methods (mySQL) mysqlDb = MySqlTask(config.mysql_username, config.mysql_password, config.mysql_host, config.mysql_database) mysqlDb.connect() results = mysqlDb.select_query(query) mysqlDb.close() return results
'full_resolution_time_in_minutes_within_business_hours': t['full_resolution_time_in_minutes_within_business_hours'], 'agent_wait_time_in_minutes': t['agent_wait_time_in_minutes'], 'agent_wait_time_in_minutes_within_business_hours': t['agent_wait_time_in_minutes_within_business_hours'], 'requester_wait_time_in_minutes': t['requester_wait_time_in_minutes'], 'requester_wait_time_in_minutes_within_business_hours': t['requester_wait_time_in_minutes_within_business_hours'], 'on_hold_time_in_minutes': t['on_hold_time_in_minutes'], 'on_hold_time_in_minutes_within_business_hours': t['on_hold_time_in_minutes_within_business_hours'], 'url': t['url'], 'datasift_username': t['field_20729302'], 'category': t['field_20409116'], 'status': t['status'], 'jira_ticket_id' : t['field_22679531'] } logging.debug("Database data: {0}".format(ticket_data)) zendeskDb.execute_query(dbQuery, ticket_data) # Properly close the connection if len(tickets['results']): zendeskDb.commit() else: zendeskDb.close() logging.info("Completed pulling tickets from Zendesk. End time is: {0}".format(tickets['end_time'])) logging.info("INCREMENTAL_EXPORT: end_time={0}".format(tickets['end_time'])) zendeskDb.update_job_timestamp("INCREMENTAL_EXPORT", str(tickets['end_time'])) logging.info("Done exporting Zendesk ticket updates.")
# Different MySQL Query if there is no license consumption else: insert_query = (""" INSERT INTO {0} (`username`, `start`, `startDate`, `end`, `endDate`, `stream_type`, `stream_hash`, `seconds`) VALUES ('%(username)s', %(start)s, '%(startDate)s', %(end)s, '%(endDate)s', '%(stream_type)s', '%(stream_hash)s', %(seconds)s); """).format(_table_name) # Concatenate all the INSERT statements insert_string += " ".join(insert_query.split()) % data try: insert_count= 0 cursor = mysql.execute_many(insert_string) for insert in cursor: insert_count += 1 # Commit the inserts for the user (if there are results) if insert_count: mysql.commit() else: mysql.close() except Exception, err: logging.exception(err) logging.error("Query: {0}".format(insert_string)) continue else: logging.info("No streams consumed in the past 24 hours for user: {0}".format(username)) logging.info("Tasks completed.")