我为jetbrains工具teamcity编写了一个插件。它几乎只是一个服务器侦听器,它监听一个正在被触发的构建,并输出一些文本文件,其中包含关于不同构建的信息,比如触发它的原因、那里有多少更改等等。在我完成后,我编写了一个python脚本,可以在服务器运行和启动构建时将信息输入teamcity。我希望能够在构建运行后获得该构建的构件,但问题是我不知道每个构建运行需要多长时间。有时是30秒,有时是30分钟。在
所以我用python中的这一行开始构建。在
urllib.urlopen('http://'+username+':'+password+'@localhost/httpAuth/action.html?add2Queue='+btid+'&system.name=<btid>&system.value=<'+btid+'>&system.name=<buildNumber>&system.value=<'+buildNumber+'>')
在构建运行后(一些不确定的时间量),我想使用这行来获取我的文本文件。在
^{pr2}$问题是我不知道要等多久才能执行第二行。通常在Java中,我会做第二个线程,它会休眠一段时间,然后等待构建完成。我不知道如何在python中实现这一点。因此,如果有人知道如何用python实现这一点,或者有更好的方法来实现这一点,我将不胜感激。如果我需要更好的解释请告诉我。在
授予-
Python实际上有一个与Java非常相似的threading system,因此您应该能够毫不费力地使用它。在
但是如果你只需要等待一段预定的时间,那么就使用
除非您通过让构建服务器联系您而得到通知,否则唯一的方法就是轮询。你可以在一个主线程中生成你的评论。在
比如:
作为替代,您可以使用CherryPy。然后,当构建完成后,可以让curl或wget连接到侦听CherryPy服务器并触发应用程序下载url。在
也可以使用xmlrpclib执行类似的操作。在
相关问题 更多 >
编程相关推荐