Jenkins如何使用Popen处理python脚本

2024-10-04 09:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我们用詹金斯来管理我们的亲信。我们在服务器上运行centos6.8。詹金斯的版本是1.651。在

我遇到了一个有趣的问题。当我从终端运行脚本时,它运行得很好。我没有任何错误。在

当我在Jenkins中运行同一个脚本时,它失败了,并说没有这样的文件或目录。在

我从Jenkins输出得到的错误消息是:

Traceback (most recent call last):
  File "runMTTRScript.py", line 256, in <module>
    main()
  File "runMTTRScript.py", line 252, in main
    startTest(start, end, impalaHost)
  File "runMTTRScript.py", line 72, in startTest
    getResults(start, end)
  File "runMTTRScript.py", line 111, in getResults
    proc1 = subprocess.Popen(cmd, stdout=processlistOut)
  File "/glide/lib64/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/glide/lib64/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

下面是上面的错误所抱怨的代码:

^{pr2}$

为什么它会抱怨一个文件不是从Jenkins来的,但是当我从命令行运行它的时候它就没事了?这也可能是python中一些我不知道的竞争条件吗?“with…open”打开文件的速度不够快,不能让Popen使用?我也承认这可能是操作系统的问题(太多打开的文件,一些愚蠢的东西,等等)。在


Tags: 文件inpy脚本main错误linestart