shell
1 #!/bin/bash
2
3 echo "kylin_host_port:${1}"
4 echo "cube_name:${2}"
5
6 kylin=${1}
7 cube=${2}
8
9 # 构建cube
10 uuidstr=`curl -X PUT --header "Authorization: Basic YWRtaW46S1lMSU4=" --header 'Content-Type: application/json' --data "{\"buildType\": \"BUILD\"}" $kylin/kylin/api/cubes/$cube/rebuild`
11
12 # 获取uuid
13 uuid=`echo "${uuidstr}" | tr -d '"' | awk -F "[:,]" '{print $2}'`
14
15 echo '----打印uuid----'
16 echo "`date '+%Y-%m-%d %H:%M:%S'`:$uuid"
17
18 # 初始化jobStatus
19 jobstatus=""
20
21 # 初始化flag
22 flag=0
23
24 while [[ "$jobstatus" != "FINISHED" ]]
25 do
26
27 flag=`expr $flag + 1`
28
29 jobinfo=`curl -X GET --header "Authorization: Basic YWRtaW46S1lMSU4=" --header 'Content-Type: application/json' $kylin/kylin/api/jobs/$uuid`
30
31 echo "----打印jobstatus----"
32 jobstatus=`echo "${jobinfo}" | awk -F"[,:]" '{for(i=1;i<=NF;i++){if($i~/'job_status'\042/){print $(i+1)}}}' | tr -d '"'`
33 echo "`date '+%Y-%m-%d %H:%M:%S'`:$jobstatus"
34
35 if [[ "$jobstatus" == "FAILED" ]];
36 then
37 echo "$cube构建任务失败,请检查!"
38 break
39 fi
40
41 if [[ "$jobstatus" == "DISCARDED" ]];
42 then
43 echo "$cube构建任务已取消!"
44 break
45 fi
46
47 if [[ $flag -gt 30 ]];
48 then
49 `curl -X PUT --header "Authorization: Basic YWRtaW46S1lMSU4=" --header 'Content-Type: application/json' --data "{}" $kylin/kylin/api/jobs/$uuid/cancel`
50 echo "$cube构建任务时间过长,已取消!"
51 break
52 fi
53
54 if [[ "$jobstatus" == "FINISHED" ]];
55 then
56 echo "$cube构建任务成功!"
57 fi
58
59 if [[ "$jobstatus" != "FINISHED" ]];
60 then
61 sleep 10
62 fi
63
64 done