Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'oci8'
- olololo = OCI8.new('login', 'pwd', 'olololo')
- sql_get_serv = "SELECT SID_SERV FROM SERVER_CODE where SID_SERV not in (SELECT SERVER FROM JOBS_INF where STAT_JOB is NULL and server is NOT NULL and timestamp > SYSDATE-1/24) and SID_SERV not in (select server from JOBS_INF_X_SERV)"
- cur_get_serv = olololo.exec(sql_get_serv)
- puts("\nSERVER \t\t OAR_PUSH \t\t TREATCUDAY")
- puts("==============================================================")
- while serv_current = cur_get_serv.fetch()
- begin # блок обработки исключений
- sql_get_push_stat = "STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@#{serv_current[0]} WHERE NAME = 'OAR_PUSH' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@#{serv_current[0]} where NAME = 'OAR_PUSH')";
- sql_get_trea_stat = "STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@#{serv_current[0]} WHERE NAME = 'TREATCUDAY' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@#{serv_current[0]} where NAME = 'TREATCUDAY')";
- cur_get_push_stat = olololo.exec(sql_get_push_stat)
- cur_get_trea_stat = olololo.exec(sql_get_trea_stat)
- rescue Exception => e # 2 строки внизу - для обработки неконнектящихся серваков
- print serv_current[0] + ' - '
- puts e.message # + e.backtrace.inspect
- next # возврат к циклу
- end
- stat_push = cur_get_push_stat.fetch()
- stat_trea = cur_get_trea_stat.fetch()
- if stat_push
- if stat_push[0] == "SUCCEEDED"
- sp = "OK"; dp = stat_push[1].strftime("%d.%m.%y %H:%M %z").chop.chop
- else sp = dp = '-'
- end
- end
- if stat_trea
- if stat_trea[0] == "SUCCEEDED"
- st = "OK"; dt = stat_trea[1].strftime("%d.%m.%y %H:%M %z").chop.chop
- else st = dt = '-'
- end
- end
- puts("#{serv_current[0]} \t #{sp} #{dp} \t #{st} #{dt}")
- cur_get_push_stat.close
- cur_get_trea_stat.close
- olololo.rollback
- end
- cur_get_serv.close
- olololo.logoff
Advertisement
Add Comment
Please, Sign In to add comment