我为jetbrains工具团队编写了一个插件。它几乎只是一个服务器监听器,用于监听正在触发的构建,并输出一些文本文件,其中包含关于不同构建的信息,如触发它的内容,其中存在多少变化等等。完成后,我编写了一个可以输入当服务器正在运行并踢出构建时,将信息输入teamcity。我希望能够在构建运行后获得构建的构件,但问题是我不知道每个构建运行需要多长时间。有时30分钟是30秒。关于服务器监听器的Python问题
所以我在python中用这条线开始构建。
urllib.urlopen('http://'+username+':'+password+'@localhost/httpAuth/action.html?add2Queue='+btid+'&system.name=<btid>&system.value=<'+btid+'>&system.name=<buildNumber>&system.value=<'+buildNumber+'>')
构建运行后(某些不确定的时间)我想用这行来获取我的文本文件。
urllib.urlopen('http://'+username+':'+password+'@localhost/httpAuth/action.html?add2Queue='+btid+'&system.name=<btid>&system.value=<'+btid+'>&system.name=<buildNumber>&system.value=<'+buildNumber+'>')
问题再次出现,我不知道在执行第二行之前要等多久。通常在Java中,我会做第二个线程的睡眠一段时间,并等待构建完成。我不知道如何在Python中做到这一点。因此,如果任何人有一个想法,要么如何做到这一点在Python或更好的方式来做到这一点,我将不胜感激。如果我需要更好地解释我自己,请让我知道。
Grant-
如果构建没有完成并且您打电话给第二块,会发生什么? – Christopher 2009-08-20 17:04:17
它会返回一个http 404错误。这与访问不存在的html页面相同,因为一旦构建完成,文本文件将只存在于服务器上的该位置。 – cozmokramer8 2009-08-20 17:21:24