Guest User

job_stat.go

a guest
Jun 5th, 2015
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 2.22 KB | None | 0 0
  1. package main
  2.  
  3. import ( "database/sql";"fmt";_ "github.com/mattn/go-oci8";"os";"time" )
  4.  
  5. func main() {
  6.     fmt.Printf("\n|%8s|%31s|%31s|\n", "SERVER", "OAR_PUSH", "TREATCUDAY")
  7.     fmt.Printf("|%8s|%31s|%31s|\n", "========", "========", "==========")
  8.     const 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)"
  9.     const layout = "2006.01.02-15:04:05"
  10.  
  11.     os.Setenv("NLS_LANG", "RUSSIAN_RUSSIA.UTF8") //RU8PC866,CL8MSWIN1251
  12.  
  13.     olololo, err := sql.Open("oci8", "login/pwd@olololo")
  14.  
  15.     if err != nil {
  16.         fmt.Println(err)
  17.         return
  18.     }
  19.  
  20.     cur_get_serv, err := olololo.Query(sql_get_serv)
  21.  
  22.     if err != nil {
  23.         fmt.Println(err)
  24.         return
  25.     }
  26.  
  27.     GetServ:
  28.     for cur_get_serv.Next() {
  29.         var SID_SERV, st, dt, sp, dp string
  30.  
  31.         cur_get_serv.Scan(&SID_SERV)
  32.  
  33.         var sql_get_push_stat = "SELECT STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@" + SID_SERV + " WHERE NAME = 'OAR_PUSH' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@" + SID_SERV + " where NAME = 'OAR_PUSH')";
  34.         var sql_get_trea_stat = "SELECT STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@" + SID_SERV + " WHERE NAME = 'TREATCUDAY' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@" + SID_SERV + " where NAME = 'TREATCUDAY')";
  35.    
  36.         cur_get_push_stat, err := olololo.Query(sql_get_push_stat)
  37.         if err != nil {
  38.             fmt.Printf("|%8s|%62s", SID_SERV, err) //62
  39.             continue GetServ
  40.         }
  41.    
  42.         cur_get_trea_stat, err := olololo.Query(sql_get_trea_stat)
  43.         if err != nil {
  44.             fmt.Printf("|%8s|%62s", SID_SERV, err) //62
  45.             continue GetServ
  46.         }
  47.  
  48.         for cur_get_push_stat.Next() {
  49.           var stat_push string
  50.           var LOG_DTp time.Time
  51.           cur_get_push_stat.Scan(&stat_push, &LOG_DTp)
  52.           dp = LOG_DTp.Format(layout)
  53.           sp = stat_push;
  54.         }
  55.    
  56.         for cur_get_trea_stat.Next() {
  57.           var stat_trea string
  58.           var LOG_DTt time.Time
  59.           cur_get_trea_stat.Scan(&stat_trea, &LOG_DTt)
  60.           dt = LOG_DTt.Format(layout)
  61.           st = stat_trea;
  62.         }
  63.    
  64.         fmt.Printf("|%8s|%11s|%19s|%11s|%19s|\n", SID_SERV, sp, dp, st, dt)
  65.    
  66.         cur_get_push_stat.Close()
  67.         cur_get_trea_stat.Close()
  68.     }
  69.  
  70.     cur_get_serv.Close()
  71.     olololo.Close()
  72. }
Advertisement
Add Comment
Please, Sign In to add comment