假设我的蛇毒档案里有两条规则

  1. 第一条规则获取远程文件并生成临时本地副本
  2. 第二条规则使用本地文件并执行昂贵的任务

现在让我们假设我完成了这个管道,我想添加第三条规则并重新运行管道.

  1. 第三条规则使用相同的本地文件并执行不同的任务

有没有一种方法可以在不重新运行规则#2的情况下运行更新后的管道?问题是,当我try 完成规则#3时,会触发规则#1,然后规则#2希望重新运行,因为中间本地文件已更新.

我知道像使用touchancient这样的技术是存在的,但我不确定如何或是否可以在这里apply.有没有办法专门将规则#1标记为not进行更新?

推荐答案

将规则2和规则3的输入文件包装成ancient应该可以防止它们对文件更新做出react .比如:

rule a:
     output: 'a.txt'
     shell: 'curl some_url > {output}'

rule b:
     input: ancient('a.txt')
     # do something

rule c:
     input: ancient('a.txt')
     # do something

Python相关问答推荐

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

沿着数组中的轴计算真实条目

海运图:调整行和列标签

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

如果条件不满足,我如何获得掩码的第一个索引并获得None?

在Python argparse包中添加formatter_class MetavarTypeHelpFormatter时, - help不再工作""""

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

所有列的滚动标准差,忽略NaN

pandas在第1列的id,第2列的标题,第3列的值,第3列的值?

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

Polars map_使用多处理对UDF进行批处理

如果不使用. to_list()[0],我如何从一个pandas DataFrame中获取一个值?

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

对当前的鼹鼠进行编码,并且我的按键获得了注册

如何在Django查询集中生成带有值列表的带注释的字段?

多个布尔条件的`jax.lax.cond`等效项

在被零整除的情况下,Python不遵循IEEE-754吗?

如何从NumPy数组中提取主频?

通过PyTorch中的MIN函数传递渐变