此实用工具被设计为运行任何shell命令,如果在指定的超时时间内没有写入新的STODUT行,则重试。

console-retr的Python项目详细描述


控制台重试

此实用程序旨在运行任何shell命令,如果没有新行被写入,则重试 在指定的超时内执行stdout。在ci中特别有用,可以重试片状测试/脚本

默认超时适用于写入shell命令stdout的行。

在以下情况下触发重试:

  • 指定超时后没有新行写入stdout

以下情况下不会触发重试:

  • 整个命令所需的时间比指定的超时时间长
  • 该命令返回非零(错误)返回代码

要成为一个好的bash公民,返回代码是子命令的返回代码的镜像,如果命令从来没有 在指定的超时内完成。

示例使用/测试

console-retry -t 10 "echo abcd ; false" # Immediate fail
console-retry -r 1 "sleep 70" # Fail after default timeout = 60
console-retry -s -r 1 -t 10 "sleep 15" # Should "skip timeout and therefore succeed after 15s"
console-retry -t 10 "echo abcd ; true" # Immediate success
console-retry -p -o abcd -t 10 " sleep 5; echo abc ;sleep 20; false" # Should Complete with error on second try
console-retry -o abcd -t 10 " sleep 5; echo abc ;sleep 20; false" # Should fail after retrymax (no progressive)
console-retry -o abc -t 10 " sleep 5; echo abc ; false"           # Should retry max but never with ok
console-retry -o abc -t 10 ">&2 echo abc ; false"                 # stderr, should retry max
console-retry -o nomatch -t 10 ">&2 echo abc ; false"             # stderr, should fail immediately
console-retry -o abc -t 10 "echo abc ; true"                      # stderr, should succeed immediately
console-retry -o nomatch -t 10 ">&2 echo abc ; sleep 2; echo def; true"  # Output should be: abc \ndef
console-retry -t 10 ">&2 echo abc ; sleep 10; echo def; sleep 10; true" # Staggered output 

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
反射Java反射:高负载下的NoSuchMethodException   java RxJava:one request>list of Integer>sequence of requests for each int>result to list   java为什么循环之前索引会增加   JavaSpring远程处理和RESTfulURL   java Hibernate搜索仅对我的实体的一部分进行索引   使用DPAD快速滚动时,java RecyclerView onCreateViewHolder调用过多   java将JSON解析到一个表中   java导航抽屉标题textview nullpointerexception   基于接口的Java链接队列   java Guice运行时依赖项参数重新注入   java展平/压缩ZSH中的深度嵌套目录   JavaSpring:Http406此请求标识的资源只能   java如何制作Android启动器图标   Java代码在windows上显示不正确(包含希腊语句子)   使用yourkit进行内存分析所用的java时间   java为什么可以序列化属性而不能序列化对象本身?