目录
一、背景介绍
1.测试环境存在多个task任务,需要手动触发
缘何测试期间的task任务,需要手动触发呢?
- 测试环境,不同容器中的同一系统共用同一数据库,若有其他容器中的task任务自动执行,有可能会干扰到待测环境所造的数据
- 测试环境,手动触发对应task任务利于针对性测试,可排除其他因素干扰
- 测试环境,手动触发task任务可避免一定程度上的时间等待(有些task按天执行)
2.各个脚本每天需至少手动触发一遍,甚至有的脚本需要多次手动触发
二、问题痛点
1.手动触发一个个脚本而导致的耗时费力
2.人为操作易出错,导致多次尝试
3.重复且繁琐工作,束缚工作进展
三、脚本实现
#!/bin/sh
#set -x
#声明字典
declare -A dic
#字典中添加job名称和curl接口
dic=(
[job1]="curl 接口1"
[job2]="curl 接口2"
[job3]="curl 接口3"
[job4]="curl 接口4"
[job5]="curl 接口5"
[job6]="curl 接口6"
...
[jobn]="curl 接口n"
)
#遍历字典
for key in ${!dic[*]}
do
echo -e "${key}\n${dic[$key]}"
${dic[$key]}
echo -e "\n"
done
四、成果展示
[root@jdb data]# sh job.sh
预下单job
curl http://localhost:8080/xitong/job/testPreorderJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"2wo83a5ucc8c14f8ybb70c79sdc2cdsc"}
续期job
curl http://localhost:8080/xitong/testRenewalJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"a9083a8dc8c14f0cb2b70c794dc2cdd6"}
补单job
curl http://localhost:8080/xitong/job/testDealJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"b489e5cd65b94383ada8aa37e292fe5d"}
到期自动取消续期job
curl http://localhost:8080/xitong/testAutoRenewalCancelJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"1e7b65c6dc0c46629161c75cf1ce4942"}
发送消息job
curl http://localhost:8080/xitong/testSendMessageJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"940e3d02a5934be5b45dec3ca346a960"}
前3天提醒job
curl http://localhost:8080/xitong/job/testThreeDayBeforeNoticeJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"7f43c8ebc311455c865ace2cf0a64850"}
到期日提醒job
curl http://localhost:8080/xitong/job/testDueDateNoticeJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"25ea51cb28a843839117d77ccf86b6c9"}
过期job
curl http://localhost:8080/xitong/job/testOverdueJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"5c0b5b3ea19d4bfa86ecaebf98995a47"}
过期后再提醒job
curl http://localhost:8080/xitong/job/testOverdueNoticeJob
{"error":{"returnCode":0,"returnMessage":"成功","returnUserMessage":"成功"},"data":null,"logId":"cd041b2960bc4180a4c99a8f65affdd9"}
[root@jdb data]#
五、效果收益
1.节省了时间精力
2.保证了稳定可靠性
3.提高了工作效率
六、字典知识
#!/bin/bash
#使用字典需声明
declare -A dic
#创建字典
dic=([key1]="value1" [key2]="value2" [key3]="value3")
#追加字典
dic+=([key4]="value4" [key5]="value5" [key6]="value5")
echo ${#dic[@]}
#打印指定key的value
echo ${dic["key1"]}
#打印所有key值
echo ${!dic[*]}
#打印所有value
echo ${dic[*]}
#遍历键值对
for key in ${!dic[*]}
do
echo "$key : ${dic[$key]}"
done