Exemplo n.º 1
0
 def call_pg_function(self,function_name,args):
     db = Postgres.get_instance()
     result = None
     if db.conn is not None:
         try:
             result = db.cr.callproc(function_name, args)
             db.conn.commit()
             db.db_close()
         except Exception as e:
             print('call_pg_function error function_name is %s'% function_name, e)
     else:
         conn, cr = db.db_conn()
         if conn:
             try:
                 assert cr is not None
                 result = db.cr.callproc(function_name, args)
             except psycopg2.IntegrityError as e:
                 print(e)
             finally:
                 conn.commit()
                 db.db_close()
         else:
             logger2.error("数据库连接失败!")
         # except Exception as e:
         #     print('call_pg_function error function_name is %s'%function_name, e)
     return result
Exemplo n.º 2
0
 def subsys_intid_match(self):
     db = Postgres.get_instance()
     result = db.call_pg_data(SituationOperate.sql_subsys_inf)
     grouped = result.groupby(['subsystem_id'])
     for k1, group in grouped:
         self.subsys_relation[k1] = group['site_id'].tolist()
     # print(self.subsys_relation)
     return result
Exemplo n.º 3
0
 def operate_statistic(self):
     db = Postgres.get_instance()
     if IFTEST:
         result = db.call_pg_data(SituationOperate.sql_operate_statistic_test)
     else:
         result = db.call_pg_data(SituationOperate.sql_operate_statistic)
     if len(result)>0:
         result['oper_type'] = result['all_type'].apply(lambda x: list(set(x.split(','))))
         # self.operator_statistic(result)
         self.int_statistic(result)
         return result
     else:
         print("can't get operate data!please check database table and time!")
         return None
Exemplo n.º 4
0
def so_run(message_quue):
    db = Postgres.get_instance()
    interval = SO_INTERVAL
    local_time = dt.datetime.now()
    stime = local_time - dt.timedelta(minutes=10)
    etime = local_time
    stime = dt.datetime.strftime(stime, '%Y-%m-%d %H:%M:%S')
    etime = dt.datetime.strftime(etime, '%Y-%m-%d %H:%M:%S')
    # stime = '2018-10-22 00:00:00'
    # etime = '2018-10-22 23:00:00'
    args = [stime, etime, interval]
    S1 = SituationOperate()
    try:
        S1.call_pg_function(S1.sql_alarm_operate_match, args)
    except Exception as e:
        logger2.error('so_run', e)
    else:
        message_quue.put()
        logger2.info("完成一轮调控记录匹配")
    finally:
        db.db_close()
Exemplo n.º 5
0
 def get_operate_data(self):
     db = Postgres.get_instance()
     result = db.call_pg_data(SituationOperate.sql)
     return result