Guest User

[job]get_stat.rb

a guest
Jun 5th, 2015
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.93 KB | None | 0 0
  1. require 'oci8'
  2.  
  3. olololo = OCI8.new('login', 'pwd', 'olololo')
  4.  
  5. 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)"
  6. cur_get_serv = olololo.exec(sql_get_serv)
  7.  
  8. puts("\nSERVER \t\t OAR_PUSH \t\t TREATCUDAY")
  9. puts("==============================================================")
  10.  
  11. while serv_current = cur_get_serv.fetch()
  12.   begin # блок обработки исключений
  13.     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')";
  14.     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')";
  15.     cur_get_push_stat = olololo.exec(sql_get_push_stat)
  16.     cur_get_trea_stat = olololo.exec(sql_get_trea_stat)
  17.     rescue Exception => e  # 2 строки внизу - для обработки неконнектящихся серваков
  18.       print serv_current[0] + ' - '
  19.       puts e.message # + e.backtrace.inspect
  20.       next # возврат к циклу
  21.   end
  22.  
  23.   stat_push = cur_get_push_stat.fetch()
  24.   stat_trea = cur_get_trea_stat.fetch()
  25.  
  26.   if stat_push
  27.     if stat_push[0] == "SUCCEEDED"
  28.      sp = "OK"; dp = stat_push[1].strftime("%d.%m.%y %H:%M %z").chop.chop
  29.      else sp = dp = '-'
  30.     end
  31.   end
  32.   if stat_trea
  33.     if stat_trea[0] == "SUCCEEDED"
  34.      st = "OK"; dt = stat_trea[1].strftime("%d.%m.%y %H:%M %z").chop.chop
  35.      else st = dt = '-'
  36.     end
  37.   end
  38.   puts("#{serv_current[0]}    \t #{sp} #{dp} \t #{st} #{dt}")
  39.  
  40.   cur_get_push_stat.close
  41.   cur_get_trea_stat.close
  42.   olololo.rollback
  43. end
  44.  
  45. cur_get_serv.close
  46. olololo.logoff
Advertisement
Add Comment
Please, Sign In to add comment