栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jenkins控制台输出不是实时的

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins控制台输出不是实时的

为了澄清一些答案。

  • ruby
    python
    任何明智的脚本语言将缓冲输出;这是为了最大程度地减少IO;写入磁盘速度很慢,写入控制台速度很慢…
  • 通常
    flush()
    ,在缓冲区中有足够的数据并且对换行符进行特殊处理之后,数据会自动被编辑。例如,编写不带换行符的字符串,则
    sleep()
    sleep()
    完成之后才写任何东西(我仅
    sleep
    作为示例,可以用任何其他昂贵的系统调用代替)。

例如,这将等待8秒,打印一行,再等待5秒钟,打印第二行。

from time import sleepdef test():    print "ok",    time.sleep(3)    print "now",    time.sleep(5)    print "done"    time.sleep(5)    print "again"test()
  • ruby
    STDOUT.sync =true
    打开
    autoflush
    ;所有写入
    STDOUT
    后跟
    flush()
    。这样可以解决您的问题,但会导致更多的IO。

    STDOUT.sync = true
  • 对于

    python
    ,您可以使用
    python -u
    或环境变量
    PYTHONUNBUFFERED
    来使它
    stdin/stdout/stout
    不被缓冲,但是还有其他解决方案不会改变
    stdin
    stderr

    export PYTHonUNBUFFERED=1
  • 对于

    perl
    ,你有
    autoflush

    autoflush STDOUT 1;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号