Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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包装器LSF的建议_Python_Wrapper_Lsf - Fatal编程技术网

关于如何编写好的python包装器LSF的建议

关于如何编写好的python包装器LSF的建议,python,wrapper,lsf,Python,Wrapper,Lsf,我正在创建一个python包装器脚本,并想知道创建它的好方法是什么 我想连续运行代码。例如: 第一步。 运行相同的程序(并行-并行化很容易,因为我使用LSF系统,所以我只提交三个不同的作业) 我并行运行程序,每次运行一个fin.txt并输出一个fout.txt,也就是说,当它们都运行时,它们将从三个输入文件中生成三个输出文件:f1in.txt、f2in.txt、f3in.txt、f1out.txt、f2out.txt、f3out.txt (在LSF系统中)当程序的每次运行成功完成时,它会生成一个

我正在创建一个python包装器脚本,并想知道创建它的好方法是什么

我想连续运行代码。例如:

第一步。 运行相同的程序(并行-并行化很容易,因为我使用LSF系统,所以我只提交三个不同的作业)

我并行运行程序,每次运行一个fin.txt并输出一个fout.txt,也就是说,当它们都运行时,它们将从三个输入文件中生成三个输出文件:f1in.txt、f2in.txt、f3in.txt、f1out.txt、f2out.txt、f3out.txt

(在LSF系统中)当程序的每次运行成功完成时,它会生成一个日志文件输出,f1log.out、f2log.out、f3log.out

输出的日志文件是这种形式的,即如果f1log.out成功运行,它的外观将与此类似

------------------------------------------------------------
# LSBATCH: User input
------------------------------------------------------------

Successfully completed.

Resource usage summary:

    CPU time   :     86.20 sec.
    Max Memory :       103 MB
    Max Swap   :       881 MB

    Max Processes  :         4
    Max Threads    :         5

The output (if any) is above this job summary.
因此,我希望我的包装器检查(每5分钟左右)每次运行(1,2,3)是否已创建日志文件,如果已创建日志文件,我希望包装器检查是否已成功完成(也就是说,如果日志文件中显示字符串successfully completed)

另外,如果其中一次运行完成并生成一个未成功完成的日志文件,我希望包装器结束并报告该运行(k=1,2,3)未完成

此后,

第二步。如果所有三次运行都成功完成,我将运行另一个程序,将这三个文件作为输入。。。否则我会打印一个错误

基本上,在我的问题中,我在寻找两件事:

这听起来像是编写包装器的好方法吗

在python中,我如何检查文件的存在,并以一种好的方式每次搜索一个模式


注意。我知道LSF具有作业依赖性,但我发现这种方式更清晰、更易于使用,尽管可能不是最佳方式。

我是LSF系统的用户,我的主要抱怨是出口处理和清理。我认为一个好主意是发送一个批处理作业数组,例如:初始化任务、腿部工作任务、清理任务。LSF可以完成这三个步骤,并向等待的head节点发送返回码。很多时候,LSF在发送一个作业或命令时效果很好,但它并不是真正用来处理系统处理的

除此之外,我祝你好运:)