Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在管道中处理相互依赖的文件_Python_Linux_Functional Programming_Puppet_Pipeline - Fatal编程技术网

Python 如何在管道中处理相互依赖的文件

Python 如何在管道中处理相互依赖的文件,python,linux,functional-programming,puppet,pipeline,Python,Linux,Functional Programming,Puppet,Pipeline,我正在试图确定构建一种管道系统的最佳方式,该系统包含许多相互依赖的文件,这些文件将被放入其中,我想知道是否有人对工具或方法有具体的建议。我们主要在Python和Linux中工作 我们得到的实验数据文件被传送到HPC集群上的“收件箱”目录中,这些文件必须通过几个连续的线性步骤进行处理。问题是,有时在管道的某些阶段,必须将多个样本作为一个组进行处理,因此,例如,样本可以独立地通过步骤a和B,但组中的所有样本必须完成此过程才能通过步骤C(这需要所有样本一起处理) 我觉得这是一个函数问题,因为每个步骤都

我正在试图确定构建一种管道系统的最佳方式,该系统包含许多相互依赖的文件,这些文件将被放入其中,我想知道是否有人对工具或方法有具体的建议。我们主要在Python和Linux中工作

我们得到的实验数据文件被传送到HPC集群上的“收件箱”目录中,这些文件必须通过几个连续的线性步骤进行处理。问题是,有时在管道的某些阶段,必须将多个样本作为一个组进行处理,因此,例如,样本可以独立地通过步骤a和B,但组中的所有样本必须完成此过程才能通过步骤C(这需要所有样本一起处理)

我觉得这是一个函数问题,因为每个步骤都是一个模块化的部分,我将主要检查是否存在输出:如果我有样本1步骤B输出,我需要样本2步骤B输出,这样我就可以得到样本1+2C输出。 我对Puppet了解不多,但我想知道这种工具是否可以用于此目的——处理依赖关系和监视状态的工具?有什么想法吗

谢谢


Mario

我想你是在问,当文件之间存在依赖关系时,如何转换多个文件,并且可能并行化。解决依赖关系的问题称为拓扑排序。幸运的是,
make
实用程序将为您处理所有这些问题,您可以使用
-j
标志进行并行化,这比您自己进行并行化更容易。默认情况下,仅当输入文件发生更改时,它才会重新生成文件,但通过确保在调用之前删除/不存在每个批次的所有输出和中间文件,这很容易解决问题。

在没有对此花费太多心思的情况下,即时的直觉反应是。。。puppet和其他人仍然需要手动交互才能生成每次运行的配方?