监控上一个flow执行结束后,执行下一个flow

import os
import time
import subprocess

target_file = 'pt'
search_directory = './.flag'

while True:
    for root, dirs, files in os.walk(search_directory):
        if target_file in files:
            print(f"找到文件 {target_file},执行命令。")
            try:
                subprocess.run(['make', 'pt'], check=True)
            except subprocess.CalledProcessError as e:
                print(f"执行命令时出错:{e}")
                break
    else:
        print(f"未找到文件 {target_file},等待10分钟后再检查。")
        time.sleep(600)
    continue
    break

解释上面代码:

 1.subprocess 模块:允许你创建新的进程,连接到它们的输入 / 输出 / 错误管道,并获取它们的返回码。在这个脚本中,我们使用它来执行 make pt 命令。

2.os.walk(search_directory):这是一个生成器函数,它会递归地遍历指定目录及其子目录。root 是当前正在遍历的目录路径,dirs 是当前目录下的子目录列表,files 是当前目录下的文件列表。

3.try 语句块用于包裹可能会抛出异常的代码,except 语句块用于捕获并处理特定类型的异常,这样可以让程序更加健壮和可靠。

4.subprocess.run(['make', 'pt'], check=True):使用 subprocess.run() 函数执行 make pt 命令。check=True 参数表示如果命令执行失败(返回非零退出码),会抛出subprocess.CalledProcessError 异常。
except subprocess.CalledProcessError as e:捕获命令执行失败时抛出的异常,并打印错误信息。

注:新增知识:若需在pt_shell执行TCL脚本,则可在控制台上写“pt_shell -file aaa.tcl”,可一步到位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值