新在Symfo欧宝娱乐app下载地址ny 4.4:更好地控制控制台进度条
2019年11月8日·发表的哈维尔Eguiluz
进度条是最受欢迎的特征之一吗控制台组件。他们允许显示进度信息,同时命令运行时,它是理想的长期运行的命令。
创建一些进度条时最困难的事情是如何定义他们的频率与重绘setRedrawFrequency ()
方法。如果你经常重新画一下,进度条闪烁太多但是如果你重新画一下不太经常,进度条看起来没有响应。
一个额外的问题是,有时你不知道如何将命令或快或慢的进展(例如当下载一些文件,复制文件,等等)。
在Sy欧宝娱乐app下载地址mfony 4.4我们已经改善了Symfony控制台进度条的两个新方法将帮助你控制重绘的频率:
1 2 3 4 5 6 7 8
使用欧宝娱乐app下载地址\组件\控制台\助手\ProgressBar;美元progressBar=新ProgressBar (美元输出,50000年);美元progressBar- >开始();美元progressBar- >setRedrawFrequency (One hundred.);美元progressBar- >minSecondsBetweenRedraws (0.1);美元progressBar- >maxSecondsBetweenRedraws (0.5);
新minSecondsBetweenRedraws ()
和maxSecondsBetweenRedraws ()
方法将给你一个更大的控制进度条重绘频率和将确保你不重绘它要么过多或过少。
与此相关,在Symfony 4.4我们还欧宝娱乐app下载地址设置0.1
的价值minSecondsBetweenRedraws
财产,所以进度条不是每秒更新超过10次在默认情况下(见把请求# 32424)。
发表在#生活在边缘
评论
克利斯朵夫Coevoet
11月8日说,2019年在16:26
这在某些情况下确实会提高性能。重绘进度条每秒数千次行不通,因为IO STDOUT的必要,这将成为你命令的瓶颈。
这是为什么这样的控制首先添加“setRedrawFrequency”。
这是为什么这样的控制首先添加“setRedrawFrequency”。
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Grégoire Pineau is a certified Symfony engineer and a certified Twig designer.
Get certified! Online exams available in all countries.
Register Now