You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GNU make中延迟目标执行以避开许可证服务器重启?

避开许可证服务器午夜重启的夜间测试启动方案

核心思路

在执行测试命令前,先检查当前时间是否处于23:58-00:02的许可证服务器重启窗口。如果是,等待5分钟后再启动测试,避免测试在重启时段初始化导致报错终止。

实现脚本(Bash)

方法1:基于当日秒数判断(更精准)

#!/bin/bash

# 将当前时间转换为当日已过的秒数(一天共86400秒)
current_total_seconds=$(date +%s)
day_seconds=$((current_total_seconds % 86400))

# 定义危险窗口的秒数范围:23:58=86280秒,00:02=120秒
if [ $day_seconds -ge 86280 ] || [ $day_seconds -le 120 ]; then
    echo "检测到当前处于许可证服务器重启时段,等待5分钟后启动测试..."
    sleep 300  # 等待5分钟(300秒)
fi

# 执行测试命令
make test1 test2 test3 test4 ...

方法2:基于时间字符串判断(更直观)

#!/bin/bash

current_time=$(date +%H:%M)

# 判断时间是否落在23:58-23:59或00:00-00:02区间
if [[ "$current_time" > "23:57" ]] || [[ "$current_time" < "00:03" ]]; then
    echo "当前处于许可证服务器重启时段,等待5分钟后执行测试..."
    sleep 300
fi

# 运行测试
make test1 test2 test3 test4 ...

使用说明

  1. 将上述任一脚本保存为run_tests.sh
  2. 赋予脚本执行权限:chmod +x run_tests.sh
  3. 夜间执行该脚本即可:./run_tests.sh

注意事项

  • 测试运行过程中遇到许可证服务器重启无影响,因此只需在测试启动前做时间检查
  • sleep 300确保等待足够时间,完全避开1分钟的重启窗口后再启动测试

内容的提问来源于stack exchange,提问作者alecdk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:52:14