12345678910111213141516171819202122232425262728 |
- #!/bin/sh
- set -ex
- partitionDt="$(date -d '1 days ago' +%Y%m%d)"
- partitionHh="14"
- table='alg_recsys_sample_all_new'
- # 0 判断上游表是否生产完成,最长等待到12点
- source /root/anaconda3/bin/activate py37
- max_hour=11
- max_minute=00
- echo "开始校验是否生产完数据,分区信息:dt:${partitionDt},hh:${partitionHh}"
- while true; do
- python_return_code=$(python checkHiveDataUtil.py --table ${table} --partitionDt ${partitionDt} --partitionHh ${partitionHh})
- echo "python 返回值:${python_return_code}"
- if [ $python_return_code -eq 0 ]; then
- echo "Python程序返回0,校验存在数据,退出循环。"
- break
- fi
- echo "Python程序返回非0值,不存在数据,等待五分钟后再次调用。"
- sleep 300
- current_hour=$(date +%H)
- current_minute=$(date +%M)
- if (( current_hour > max_hour || (current_hour == max_hour && current_minute >= max_minute) )); then
- echo "最长等待时间已到,失败:${current_hour}-${current_minute}"
- exit 1
- fi
- done
|