网站首页 > 开源技术 正文
这是 https://github.com/overtrue/pinyin 首页 README 中的持续集成状态。
之前有朋友问我,这个 travis 状态时 error 能用么?肯定是能用,我们来看下 travis 上什么地方错误了:
已经显示出来了,其中单元测试失败的是 php 5.5 和php 5.6 我们随便点击一个进去看看
超过 10m 没有收到输出,所以 travis 认为构建是有问题的。其实吧~确实有问题,个人也苦恼了很久,没有收到输出的构建是tests/GeneratorFileDictLoaderTest.php 这个测试类测试的是Overtrue\Pinyin\GeneratorFileDictLoader 这个加载器。
解释下这个加载器,因为拼音库是基于词库的,而词库非常大,在很多场景下内存中是不允许载入这么多的数据的。所以这个加载器利用 php5.5+的Generator (生成器)特性来生成数据,而生成数据的代价就是需要大量的磁盘 IO 以及增加>90% 的允许时间。(PHP 官方文档中有说明)。
travis 认为构建失败原因:这个问题本身可能存在于 PHP 5.5 & 5.6 的文件系统(看 PHP 改动日志是有改动的)造成了假死,再加上 travis 本身 IO 能力比较低。所以造成生成器同时打开多个文件流之后就假死了。
如何修复#
额~我是来搞笑的。。。。并不知道如何解决构建失败的问题,这个问题我曾经 fork 超哥的库该代码,也并没有找到好的解决方法。
可能删除这种「生成器」加载器会好吧
其实我特地发这篇文章,是想让超哥看到,研究下怎么让构建跑通
TS+预售活动了解:http://www.thinksns.com/zx/reader.php?id=94
TS+安装部署:http://www.thinksns.com/zx/reader.php?id=120
- 上一篇: 产品经理要懂的Web产品的一些技术知识
- 下一篇: D盾-Web查杀(webshell查杀)免费下载
猜你喜欢
- 2024-09-10 PHP学习之旅-启程篇:PHP究竟是什么?
- 2024-09-10 D盾-Web查杀(webshell查杀)免费下载
- 2024-09-10 产品经理要懂的Web产品的一些技术知识
- 2024-09-10 解析如何在 Laravel 中 “规范” 的开发验证码发送功能!
- 2024-09-10 TS+如何做到 Laravel 配置可以网站后台配置?
- 2024-09-10 微信小程序的入口、核心逻辑及小程序与APP之间的博弈
- 2024-09-10 社交类软件开发功能有哪些(社交类软件开发功能有哪些内容)
- 2024-09-10 微信小程序,是不是一盘可口的菜!
- 2024-09-10 这些软件开发需求梳理流程方法,你不得不看!
- 2024-09-10 传统企业为什么要做社交商城(企业为什么要做社群营销)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)