Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Gradle-如何在Gradle中添加一些延迟暂停挂起_Gradle_Task_Delay_Sleep_Onpause - Fatal编程技术网

Gradle-如何在Gradle中添加一些延迟暂停挂起

Gradle-如何在Gradle中添加一些延迟暂停挂起,gradle,task,delay,sleep,onpause,Gradle,Task,Delay,Sleep,Onpause,我在寻找一种方法,在两个gradle任务的调用之间插入几秒钟的停顿 我可以用 firstTask.doLast { ..... } 类似于Linux/Unix的功能 sleep 45 有什么想法吗?如果您想在Tomcat中运行集成测试,只需使用如下命令: ext { tomcatStopPort = 8081 tomcatStopKey = 'stopKey' } task integrationTomcatRun(type: org.gradle.api.plugin

我在寻找一种方法,在两个gradle任务的调用之间插入几秒钟的停顿

我可以用

firstTask.doLast {

.....

}
类似于Linux/Unix的功能

sleep 45

有什么想法吗?

如果您想在Tomcat中运行集成测试,只需使用如下命令:

ext {
    tomcatStopPort = 8081
    tomcatStopKey = 'stopKey'
}

task integrationTomcatRun(type: org.gradle.api.plugins.tomcat.TomcatRun) {
    stopPort = tomcatStopPort
    stopKey = tomcatStopKey
    daemon = true
}

task integrationTomcatStop(type: org.gradle.api.plugins.tomcat.TomcatStop) {
    stopPort = tomcatStopPort
    stopKey = tomcatStopKey
}

task integrationTest(type: Test) {
    include '**/*IntegrationTest.*'
    dependsOn integrationTomcatRun
    finalizedBy integrationTomcatStop
}

test {
    exclude '**/*IntegrationTest.*'
}

首先,我会努力找到一个比每次都等这么久更好的解决方案。无论如何,要将第一个任务延迟45秒,您可以执行以下操作:

firstTask.doLast {
    sleep(45 * 1000)
}

熟悉Groovy的核心API的一个好方法是学习(也称为GDK)。这也是一个方便的参考。

嗨,维迪亚,你能提供一种增加延迟的方法吗。firstTask在Tomcat中部署了一个.war(它已经在运行,所以基本上Tomcat只需要30-45秒的时间来循环选择新构建提供的新.war),我想在这之后等待45秒,然后再调用gradle integrationTest任务(即我的第二个任务).事实上,你提到的那个代码我已经有了,但我所需要的只是如何插入延迟。由于我们有很多定制,我想我们不能使用Gradle的Tomcat插件,但感谢您的投入。谢谢你,维迪亚。或者:
firstTask{//这里有些东西;doLast{sleep(45*1000)}