批量删除OpenStack实例
在Linux终端实现批量删除OpenStack实例,支持并发删除、安全确认、重试机制、优先清理运行中实例
#!/bin/bash
# ======================================================================
# 增强版 OpenStack 删除实例脚本
# 功能:支持并发删除、安全确认、重试机制、优先清理运行中实例
# 更新:2025年4月30日
# ======================================================================#######################################
# 配置区(用户可自定义参数)
#######################################
delete_InstanceMAX_RETRY=20 # 最大尝试次数(删除失败时尝试再次删除实例)
CHECK_INTERVAL=5 # 实例状态检测间隔(单位:秒)
no_InstanceMAX_RETRY_TIME=20 # 实例列表为空,连续监测实例列表都是空的次数
CONCURRENCY=2 # 并发删除线程数(建议不超过 API 限制)
MAX_WAIT_TIME=3600 # 最大等待超时时间(单位:秒,60 分钟)LOG_FILE="./log_instance_delete_$(date +%Y%m%d).log" # 日志文件路径(自动按日期生成)# 统计变量
TOTAL_DELETED_INSTANCES=0 # 已删除实例总数统计
DELETED_INSTANCES_FILE="/tmp/deleted_instances.txt" # 已删除实例ID临时记录文件# 颜色定义(终端输出美化)
RED='\033[0;31m' # 红色 - 错误/危险操作
GREEN='\033[0;32m' # 绿色 - 成功/正常状态
YELLOW='\033[0;33m' # 黄色 - 警告/等待状态
BLUE='\033[0;34m' # 蓝色 - 执行中/进度信息
NC='\033[0m' # 无颜色 - 重置终端颜色#######################################
# 函数:带重试机制的实例删除
# 参数:
# $1 : 实例ID(必填)
# 返回值:
# 0 - 删除成功 | 1 - 删除失败
# 描述:
# 使用指数退避策略重试删除,最多尝试 delete_InstanceMAX_RETRY 次删除实例
#######################################
retry_delete() {local instance_id=$1for ((i=1; i<=delete_InstanceMAX_RETRY; i++)); dolog "${BLUE}尝试删除实例 [ID: $instance_id] (第 $i 次尝试)...${NC}"if nova force-delete "$instance_id"; thenlog "${GREEN}删除实例成功: $instance_id${NC}"echo "$instance_id" >> "$DELETED_INSTANCES_FILE"return 0fisleep $((i*2)) # 指数退避等待donelog "${RED}错误:删除实例 $instance_id 失败,已达最大重试次数(${delete_InstanceMAX_RETRY} 次)${NC}"return 1
}#######################################
# 函数:安全获取实例列表
# 参数:
# $1 : 实例状态(默认 ACTIVE)
# 返回值:
# 实例ID列表(格式:每行一个ID)
# 描述:
# 过滤无效字符并格式化输出,避免脏数据干扰
#######################################
safe_get_instances() {local status=${1:-"ACTIVE"}nova list --status $status | awk -F '|' '/[0-9a-f]{8}-/ {gsub(/ /, "", $2);if ($4 ~ status) print $2}' status="$status"
}#######################################
# 函数:日志记录
# 参数:
# $1 : 日志信息(支持颜色代码)
# 描述:
# 自动添加时间戳,并同时输出到终端和日志文件
#######################################
log() {local msg="$1"echo -e "$(date '+%Y-%m-%d %T') - $msg" | tee -a "$LOG_FILE"
}# 导出函数到子 Shell(确保并发调用时可用)
export -f log retry_delete#######################################
# 主流程
######################################## 解析命令行参数
while getopts "s:i:c:l:" opt; docase $opt ins) STATUS=$OPTARG;; # 指定目标实例状态(如 ACTIVE/BUILD)i) CHECK_INTERVAL=$OPTARG;; # 自定义检测间隔时间c) CONCURRENCY=$OPTARG;; # 调整并发线程数l) LOG_FILE=$OPTARG;; # 指定日志文件路径*) echo -e "${RED}用法: $0 [-s 状态] [-i 间隔] [-c 并发数] [-l 日志路径]${NC}"exit 1;;esac
done# 初始化 OpenStack 环境
source /openstack/admin-openrc.sh || { log "${RED}错误:环境变量加载失败,请检查 admin-openrc.sh 文件权限或路径${NC}"exit 1
}# 检查日志目录可写性
if [ ! -w "$(dirname "$LOG_FILE")" ]; thenecho -e "${RED}错误:日志目录不可写 [路径: $(dirname "$LOG_FILE")]${NC}" >&2exit 1
fi# 初始化临时文件(记录已删除实例)
> "$DELETED_INSTANCES_FILE"# 进程锁检查(防止重复运行)
LOCK_FILE="/tmp/os_clean.lock"
if [ -e "$LOCK_FILE" ]; thenlog "${YELLOW}警告:检测到已有清理进程运行中 [PID: $(cat $LOCK_FILE)]${NC}"exit 1
fi
echo $$ > "$LOCK_FILE"
trap 'rm -f "$LOCK_FILE"; TOTAL_DELETED_INSTANCES=$(wc -l < "$DELETED_INSTANCES_FILE"); log "${GREEN}===== 脚本进程中断退出,已删除实例数: $TOTAL_DELETED_INSTANCES ====="; rm -f "$DELETED_INSTANCES_FILE"' EXIT# 安全确认(确保转义符被解析)
if [[ -t 0 ]]; thenread -p "$(printf "${YELLOW}危险操作:是否确认执行删除实例?(y/N): ${NC}")" -n 1 confirm[[ $confirm != "y" ]] && { log "操作已取消"; exit; }echo
fi# 主循环(状态检测与删除)
log "\n${GREEN}===== 开始删除实例 [时间: $(date +%T)] ====="
start_time=$(date +%s)
empty_count=0 # 连续空检测计数器while :; do# 超时检查(防止无限等待)if (( $(date +%s) - start_time > MAX_WAIT_TIME )); thenlog "${RED}错误:操作超时,已超过最大等待时间(${MAX_WAIT_TIME} 秒)${NC}"exit 1fi# 获取目标实例列表instances=$(safe_get_instances "${STATUS:-ACTIVE}")creating_instances=$(safe_get_instances "BUILD")# 优先删除运行中的实例if [ -n "$instances" ]; thenlog "检测到 ${#instances[@]} 个运行中实例,启动并发删除..."printf "%s\n" "${instances[@]}" | xargs -P $CONCURRENCY -I {} bash -c "delete_InstanceMAX_RETRY='$delete_InstanceMAX_RETRY'LOG_FILE='$LOG_FILE'DELETED_INSTANCES_FILE='$DELETED_INSTANCES_FILE'$(declare -f log retry_delete)retry_delete \"{}\""sleep $((CHECK_INTERVAL/2)) # 降低 API 请求频率continuefi# 处理创建中的实例(等待后重试)if [ -n "$creating_instances" ]; thenlog "${YELLOW}提示:检测到 ${#creating_instances[@]} 个创建中实例,等待 ${CHECK_INTERVAL} 秒...${NC}"sleep $CHECK_INTERVALcontinuefi# 空状态处理(连续检测退出机制)if [ -z "$instances" ]; thenlog "${YELLOW}提示:未发现可操作实例,等待 ${CHECK_INTERVAL} 秒后重试,至多重试${no_InstanceMAX_RETRY_TIME}次...${NC}"sleep $CHECK_INTERVAL# 连续${no_InstanceMAX_RETRY_TIME} 次空检测则退出if (( empty_count++ >= ${no_InstanceMAX_RETRY_TIME} )); thenTOTAL_DELETED_INSTANCES=$(wc -l < "$DELETED_INSTANCES_FILE")log "${GREEN}===== 脚本运行清理完成,已删除实例总数: ${TOTAL_DELETED_INSTANCES} ====="exit 0ficontinuefiempty_count=0 # 重置空检测计数器
done
相关文章:
批量删除OpenStack实例
在Linux终端实现批量删除OpenStack实例,支持并发删除、安全确认、重试机制、优先清理运行中实例 #!/bin/bash # # 增强版 OpenStack 删除实例脚本 # 功能:支持并发删除、安全确认、重试机制、优先清理运行中实例 # 更新:2025年4月30日 # ##…...
楼宇智能化一、二章【期末复习】
一章、楼宇概述 智能建筑的定义:以建筑物为平台,基于对各类智能化信息的综合应用,集架构、系统、应用、管理及优化组合为一体,具有感知、传输、记忆、推理、判断和决策的综合智慧能力,形成以人、建筑、环境互为协调的整合体,为人们提供安全、高效、便利及可持续发展功能…...
三生原理与西方哲学的具体对比?
AI辅助创作: 一、本体论差异 生成论与构成论的分野 三生原理以《周易》“太极生两仪,两仪生四象,四象生八卦”、《道德经》“道生一,一生二,二生三,三生万物”为基础,构建动态层级生成的宇…...
呼叫中心座席管理系统:智能升级,高效服务
在数字化转型加速的今天,客户服务体验已成为企业竞争力的核心要素。传统 呼叫中心系统 依赖硬件设备、人工操作的模式已无法满足高效、智能、灵活的现代企业需求。畅信达呼叫中心 座席管理系统 V5.0应运而生,以WEBRTC软电话接入、智能座席辅助、知识库管…...
PCB设计实战技巧宝典:从库管理到布线优化的全流程解析
知识点1【PCB设计流程】 器件 符号 封装 (3D模型 实物图 ) 流程介绍 1、如果没有需要的的库,先画库:器件,符号,封装 2、新建工程,放置器件在原理图 3、原理图转PCB 4、导出ROM和Gerber…...
微信小程序 XSS 防护知识整理
场景1:用户输入表单(如评论框) 错误做法:直接渲染未过滤的用户输入 // WXML <view>{{ userInput }}</view>// JS(用户输入了恶意内容) Page({data: { userInput: <script>alert("…...
平衡截断(Balanced Truncation)—— MTALAB 和 Python 实现
平衡截断balreal 算法原理平衡截断过程求解 HSV 为什么不使用定义而是使用 Cholesy 和SVD 分解? MATLAB 实践Python 实现 先验知识:可控性 Gramian W c W_c Wc、可观性 Gramian W o W_o Wo 以及 Hankel 奇异值(HSV) σ i \s…...
机器手电机驱动器小体积解决方案
市场背景 随着工业4.0与人工智能技术的深度融合,智能机器人正加速渗透至医疗、物流、制造及服务等核心领域。据行业分析显示,2023年全球协作机器人市场规模同比增长23%,其中高精度关节驱动与小型化硬件设计成为技术迭代的关键需求。然而&…...
(数智化)采购管理系统平台开发费用
随着招标采购数智化升级加速,采购管理系统平台开发费用成为企业关注的焦点——从几十万到几百万不等,那么开发成本差异的背后藏着怎样的技术逻辑与价值密码呢?采购管理系统研发商郑州信源信息技术股份有限公司根据行业特点及客户实际实践总结…...
K8S Secret 快速开始
一、什么是 Secret? Kubernetes(K8s)中的 Secret 是一种用于存储和管理敏感信息(如密码、令牌、证书、API 密钥等)的资源对象。它避免了将敏感数据明文写入配置文件、镜像或代码中,提供了一种更安全的方式…...
TEN:开启实时语音交互的下一代AI Agent引擎
在AI技术飞速发展的今天,语音交互正成为人机交互的重要方式。传统的文本对话已无法满足用户对自然、高效沟通的需求,而TEN开源框架的出现,为开发者提供了构建超低延迟、可听可说的AI Agent的终极解决方案。 一、TEN的核心优势 超低延迟实时交…...
DeepSeek驱动的金市情绪量化:NLP解析贸易政策文本的情绪传导路径
【AI观察】政策信号与市场情绪的量化关联 基于自然语言处理技术对全球财经文本的情绪分析显示,4月30日亚盘时段现货黄金价格波动率较前日下降12.3%,与技术面修正指标呈现强相关性。特政府最新关税政策调整引发市场风险偏好指数(RPIÿ…...
JVM快速入门
目录 前言: 1.JVM的位置 2.JVM的体系结构 3.类加载器 类加载器中的一些方法和细节: 4.双亲委派机制 5.沙箱安全机制 概念 原理 Java 沙箱安全机制 应用场景 6.Native 7.方法区: 8.PC寄存器 9.栈 10.三种JVM HotSpot VM OpenJ9 VM Zin…...
spring--事务详解
spring事务 什么是事务 我们常说的事务,一般指数据库事务。 数据库事务是指 一个逻辑工作单元中执行的一系列(数据库操作),要么一起成功,要么一起失败 当工作单元中的所有操作全部正确完成时,工作单元的…...
CSS实现DIV水平与垂直居中方法总结
大家好,欢迎来到程序视点!我是你们的老朋友.小二! CSS实现DIV水平与垂直居中方法总结 一、水平居中方案 标准方法 .center-div {margin-left: auto;margin-right: auto; }关键点:必须声明DOCTYPE(推荐XHTML 1.0 Tran…...
AI 助力 Python:长时序植被遥感动态分析与生态评估
技术点目录 Python遥感数据处理基础及AI大模型应用技巧常用共享数据资源介绍AI辅助下地球科学数据处理方法及python实现AI辅助下植被参数遥感反演基本原理及python实现AI辅助下地球科学数据分析方法及python实现AI辅助下植被物候提取与分析实践应用AI辅助下植被时空动态分析及p…...
卫星变轨轨迹和推力模拟(单一引力源)MATLAB
代码说明: 常量定义:定义了万有引力常数、地球和月球的质量、半径以及地月平均距离。初始状态设置:设置卫星的初始位置、速度和姿态,以及月球的初始位置。模拟循环:在循环中计算地球和月球对卫星的引力,模…...
2025华东杯B题华东杯数学建模思路代码成品讲解工序安排问题
完整内容请看文章最下面的推广群 我将展示完整的文章、代码和结果 工序安排问题 摘要 本文研究的核心是制造业中的工序安排优化问题,源自实际生产管理中常见的资源分配挑战。问题背景设定为一家拥有100名工人和三条相同服装生产线的成衣制造厂,涉及裁…...
Python的赋值操作都是引用吗?
Python的赋值操作都是引用吗? 一言以蔽之:Python的赋值本质都是引用传递,但不可变对象的表现类似于值传递,这是由对象不可变性造成的效果。(我非常确信这篇笔记说的内容都是正确的,这篇笔记是deepseekv3的…...
学习influxDB的安装和使用
influxDB的使用场景 nfluxDB 是一种时序数据库,时序数据库通常被用在监控场景,用来收集各个节点采集到的监控指标,以及监控指标产生的时间点.比如我们收集的主机的监控数据,可以通过查询语句,统计查询过去30分钟内cpu的平均使用率是多少. 相比关系型数据库与时序数…...
LeetCode209_长度最小的子数组
LeetCode209_长度最小的子数组 标签:#数组 #二分查找 #前缀和 #滑动窗口Ⅰ. 题目Ⅱ. 示例0. 个人方法:滑动窗口 标签:#数组 #二分查找 #前缀和 #滑动窗口 Ⅰ. 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足…...
uniapp 实现时分秒 分别倒计时
效果 <view class"issue-price-countdown"> <CountDown :endTimestamp"1745996085000"></CountDown> </view> 引入组件 import CountDown from /components/CountDown.vue; <template> <view class&qu…...
ubuntu下一些环境配置
1、qhull sudo apt install qhull-bin libqhull-dev 2、cmake wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null echo "deb [signed…...
el-check-box多选框和el-select下拉框组合
<template><div><el-selectv-model"selectedValues"multiplecollapse-tagsplaceholder"请选择电压等级"change"handleChange"><el-option key"all" value"all" class"select-all-option">…...
SPSS PCA+判别分析
1, 主成分分析PCA 我们只要对数化的变量数据: (1)对数据进行标准化处理: 选择【分析】—【描述统计】—【描述】 添加要标准化的变量,勾选【将标准化值另存为变量(Z)】,再点确定 SPSS软件本身不…...
【阿里云大模型高级工程师ACP习题集】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
习题集: 【单选题】在阿里云大模型微调中,以下关于预训练和微调的说法,错误的是?( ) A. 预训练使用自监督/无监督学习方式 B. 微调通常在大规模通用数据集上进行 C. 预训练模型可以为下游任务提供初始模型 D. 微调能让模型适应具体的下游任务 【多选题】LoRA微调中,低秩…...
ag-grid-react 列表导出csv列表getDataAsCsv (自定义导出列表配置)自定义新增,修改导出内容
1.ag-grid-react getDataAsCsv 新增导出字段 方法:临时添加列再导出 你可以通过 columnApi.setColumnDefs() 临时添加需要导出的字段,然后再调用 getDataAsCsv,导出后再恢复原来的列。 import { useRef } from react; import { AgGridReac…...
深度解析:Vue.js 性能优化全景指南(从原理到实践)
前言 随着 Vue.js 应用复杂度提升,性能问题逐渐成为制约用户体验的瓶颈。本文将系统性地剖析 Vue.js 性能优化的 核心原理、关键技巧、工具链支持,并通过真实案例演示如何提升大型应用的运行时性能与加载效率。 一、渲染层优化:减少不必要的…...
Linux -- 操作系统
一、冯•诺依曼体系结构 1、概念 # 在计算机发展历程中,核心作用就是解决人类问题。为了实现这一目标,计算机系统需具备特定结构和功能。 首先,计算机要配备输入设备,如鼠标、键盘、摄像头、话筒、磁盘(文件读取&…...
(初探)强化学习路径规划的理论基础与代码实现
一、强化学习路径规划的核心理论 1.1 马尔可夫决策过程(MDP)框架 理论基础: 路径规划问题可以建模为马尔可夫决策过程(Markov Decision Process, MDP),由五元组(S, A, P, R, γ)定义。其中,S&…...
分布式链路ID实现
实现原理 api入口或者网关处生成traceId,调用服务时优先检查是否头部带有traceId,有则复用,没有则生成 实现方式 处理api相关traceId 1.通过filter复用或者生成traceId,并且将traceId输入到响应头中 import java.io.IOExcept…...
Java @Transactional事物隔离级别和默认值详解
在 Java 开发中,Transactional 注解是 Spring 框架中用于管理事务的重要工具。它提供了多种配置选项,其中事务隔离级别是一个关键属性。本文将深入探讨 Transactional 注解的隔离级别默认值,并通过具体代码示例帮助你更好地理解和应用事务隔离…...
ComputeShader绘制全屏纯色纹理
参考 Getting Started With Compute Shaders In Unity 环境 Win10 Unity20194.40 全屏纯色纹理示例 使用ComputerShader逐个像素设置颜色 ComputeShader脚本 设置纹理颜色 #pragma kernel CSMainRWTexture2D<float4> Result;//纹理 half4 solidColor;//颜色[numth…...
关于 MCP 的理论知识学习
文章目录 1. 写在最前面2. 基本概念2.1 Why MCP2.1.1 大模型访问的局限2.1.2 过渡阶段—Function Call2.1.3 当前阶段— MCP 3. 碎碎念4. 参考资料 1. 写在最前面 最近有一项任务是写旧版本迁移到新版本的支持文档,文档的编写是借助于 cursor 帮忙写的。但是实现的…...
关于vue+iview中tabs嵌套及实际应用
最近在用vueiview框架做项目,在实际做项目中根据需求用到iview中的tabs标签页嵌套以及标签页增加删除功能。想着记录下来,以后可能会再用到。下面是页面。由于是公司的项目具体有些地方我会打码,不影响阅读! 1607751577(1).jpg ta…...
26考研——输入/输出系统_I/O 方式_DMA 方式(7)
408答疑 文章目录 三、I/O 方式DMA 方式DMA 方式的特点DMA 控制器的组成DMA 的传送方式停止 CPU 访存周期挪用DMA 与 CPU 交替访存 示例分析DMA 的传送过程 DMA 方式和中断方式的区别 四、参考资料鲍鱼科技课件26王道考研书 三、I/O 方式 DMA 方式 DMA 方式是一种完全由硬件进…...
处理vue3热加载后axios的请求重复访问的问题
在请求拦截上加上判断,热加载时清空拦截器 if (import.meta.hot) { const interceptorsRe axios.interceptors.response.handlers; const interceptorsRq axios.interceptors.request.handlers; interceptorsRe .length 0; // 清空已有响应拦截器 interceptorsR…...
【教学类-102-21】蝴蝶三色图作品3——异型书蝴蝶“满格变形图”一页2图、一页4图
前期设计 将蝴蝶撑满整个单元格,满格变形图。确保蝴蝶图案最大化 【教学类-102-20】蝴蝶三色图作品2——卡纸蝴蝶“满格变形图”(滴颜料按压对称花纹、原图切边后变形放大到A4横版最大化)-CSDN博客文章浏览阅读572次,点赞7次,收藏3次。【教学类-102-20】蝴蝶三色图作品2…...
【昇腾】Benchmark
1. MindIE 服务化 1.1 环境准备 镜像传送门 参数说明: device用于挂载卡,下面的例子是挂载了8张卡 倒数第二行的镜像名称记得修改 docker run -itd --privileged --namemindie --nethost \--shm-size 500g \--device/dev/davinci0 \--device/dev/da…...
【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
学习目标 特别说明:由于这一章节是2025年3月官方重点更新的部分,新增内容非常多,因此我不得不整理成上、下两篇,方便大家参考。 备考阿里云大模型高级工程师ACP认证时,深入钻研《2.7通过微调增强模型能力(下篇)》,期望达成以下目标: 掌握高效微调技术:深入理解预训练与…...
【RustDesk 】中继1:压力测试 Python 版 RustDesk 中继服务器
测试 Python 版 RustDesk 中继服务器 测试我们实现的中继服务器有几种方法,从简单到复杂依次如下: 1. 基本连接测试客户端 创建一个简单的测试客户端来验证中继服务器的基本功能: 2. 用两个测试客户端测试中继功能 要测试完整的中继功能,你需要运行两个客户端实例来模拟…...
MCP 自定义python实现server服务,支持离线调用和远程接口访问形式
参考: https://blog.csdn.net/lingding_cn/article/details/147355620 其他百炼、mcp服务网址支持链接访问 server服务代码: 出行酒店查询 mcp server代码编写参考:https://blog.csdn.net/weixin_42357472/article/details/146503660 api_mcp_server.py import pickle im…...
搭建PCDN大节点,服务器该怎么配
搭建P2P大节点时,服务器要怎么配呢?需要综合考虑硬件性能、网络带宽、存储能力、系统架构以及安全性等多个方面,以确保节点能够高效、稳定地运行。 一、硬件配置 CPU:选择高性能的多核处理器,以满足高并发处理需求。核…...
JavaScript的3D库有哪些?
JavaScript的3D库有哪些? 在3D开发领域,JavaScript提供了多种库和框架,使开发者能够在浏览器中创建丰富的3D体验。以下是一些流行的3D方面的JavaScript库: Three.js:这是最著名的用于创建3D图形的JavaScript库之一。它…...
如何解决matlab/octave画图legend图例颜色一样的问题?
预期目的: 本意想用legend在画图的时候把对应线段的颜色对应起来,实际按照如下代码运行得不到预期的结果。 x [1:10;11:20]y1 x.^2;y2 0.5.*x.^3plot(x,y1,r,x,y2,b);legend(y x^2,y x^3) 代码运行结果如下: 原因 是matlab /octave默…...
[第十五章][15.3.2 shellcode注入攻击]ret2shellcode+[NewStarCTF 公开赛赛道]ret2shellcode
1、[NewStarCTF 公开赛赛道]ret2shellcode IDA 反编译看伪代码: buf mmap((void *)0x233000, 0x1000uLL, 7, 34, -1, 0LL); 这里直接给了 buf 7 的权限,即可读可写可执行,那么 shellcode 肯定写到 buf 里 buf 的映射地址:0x23…...
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡 一、边缘计算深度解析 1.1 边缘计算的定义与架构 边缘计算(Edge Computing)是一种分布式计算范式,它将数据处理能力从传统的集中式云数据中心推向网络边缘,更…...
基于CATIA参数化球体建模的自动化插件开发实践——NX建模之球体命令的参考与移植
引言 在CATIA二次开发领域,Python因其灵活性和丰富的库支持逐渐成为高效工具开发的首选语言。本文将以笔者开发的CATIA球体自动化建模工具为例,参考NX软件中高效球体创建命令,深度解析基于PySide6 GUI框架与pycatia接口库的集成…...
ActiveMQ 可靠性保障:消息确认与重发机制(一)
引言 在当今分布式系统的架构中,消息中间件扮演着举足轻重的角色,而 ActiveMQ 作为一款广泛使用的开源消息中间件,凭借其对 JMS(Java Message Service)规范的支持、多种消息传输协议、丰富的消息模型(如点对…...
麒麟、UOS系统在线打开word文件并提取修订痕迹
麒麟、UOS系统在线打开word文件并提取修订痕迹 查看本示例演示效果(Windows版) 查看本示例演示效果(国产版)本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 注意 本文中…...