def on_session_timeout(): print "session timeout" _db_con_clr = before_first_request() _db_clr = Database(_db_con_clr) _db_clr.begin() try: _db_clr.clear_session(SESSION_CUTOFF) _db_clr.commit() _db_con_clr.close() t = threading.Timer(500, on_session_timeout) t.daemon = True t.start() except Exception, e: logger.logKnowledge("error", "remove_old_session", str(e)) logger.logKnowledge("error", "remove_old_session", str(traceback.format_exc())) _db_clr.rollback()
def get_file_stats(csvid): file_status = None c_db_con = bulkupload_db_connect() _db_check = Database(c_db_con) try: _db_check.begin() # data = _db_check.call_proc( # "sp_pastdata_get_file_download_status", [csvid] # ) query = "select file_download_status from " \ "tbl_bulk_past_data_csv where csv_past_id = %s" param = [csvid] data = _db_check.select_all(query, param) print "DAta -> ", data if len(data) > 0: file_status = data[0].get("file_download_status") except Exception, e: print e _db_check.rollback()
def handle_api_request(self, unbound_method, request_data_type, need_session_id): is_bulk_upload = False # self._ip_addess = request.remote_addr self._ip_addess = request.headers.get("X-Real-Ip") caller_name = request.headers.get("Caller-Name") api_type = request.url try: if request_data_type == "knowledgeformat": request_data = request else: request_data = self._parse_request(request_data_type) if request_data is None: raise ValueError("Request data is Null") elif type(request_data) is str: raise ValueError(request_data) if "/api/bu" in api_type: is_bulk_upload = True _db_con = bulk_db_connect() else: _db_con = before_first_request() _db = Database(_db_con) _db.begin() valid_session_data = None session_user = None _session_db = None _session_db_con = None print is_bulk_upload if is_bulk_upload is True: _session_db_con = before_first_request() _session_db = Database(_session_db_con) _session_db.begin() valid_session_data, session_user = self.validate_user_rights( request_data, _session_db, caller_name) if valid_session_data is None: session_user = UserInfo(_session_db, session_user) _session_db.commit() else: valid_session_data, session_user = self.validate_user_rights( request_data, _db, caller_name) if valid_session_data is None: if need_session_id is True: response_data = unbound_method(self, request_data, _db, session_user) else: response_data = unbound_method(self, request_data, _db) else: response_data = valid_session_data if response_data is None or type(response_data) is bool: _db.rollback() raise fetch_error() elif type(response_data) != technomasters.ClientCreationFailed: _db.commit() else: _db.rollback() _db.close() _db_con.close() return self.respond(response_data) except Exception, e: logger.logKnowledge("error", "handle_api_request", str(e)) logger.logKnowledge("error", "handle_api_request", str(traceback.format_exc())) if str(e).find("expected a") is False: _db.rollback() _db.close() _db_con.close() return self._send_response(str(e), 400)