我们最近将 Nexus 实例迁移到 AWS,但在关闭大文件上传时遇到了问题。我们怀疑这可能是由于以下 gem 造成的 ELB 超时:
“如果 HTTP 请求在空闲超时期限内未完成,负载均衡器将关闭连接,即使数据仍在传输中。”
来源: http ://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/config-idle-timeout.html
如果连接正在传输数据,怎么会空闲呢?为什么要这样做呢?
有些文件有很多 GB - 上传可能需要几分钟,如果繁忙的话需要 30 分钟。我们应该如何支持这一点,将超时设置为 1800 秒真的是建议的修复方法吗?(最多 3,600)
谢谢,乔尔
我在 buildSrc 构建中有一些相当长的测试,有时我想在开发过程中跳过这些测试,以查看模板更改的效果。它是一个报告生成器,有时我只想调整模板而不必更新所有测试;然后当我对输出感到满意时我会更新它们。
我能够使用以下配置在 buildSrc build.gradle 中实现跳过测试:
test {
// skip all tests if gradle run with -Pnotests
try { if (project.ext.notests != null)
println "skipping tests"
exclude '**'
} catch (MissingPropertyException e) {}
}
Run Code Online (Sandbox Code Playgroud)
(如果您有更好的方法来检测可选参数,我很乐意看到它)
但是,这不适用于主 gradle 项目。我已经尝试了所有我能想到的方法来尝试通过配置传递参数,而没有设置环境变量,但我怀疑这是否可行。
一般来说,我发现我无法从主项目中配置 buildSrc。我找不到任何获取变量的方法,例如 project.ext.foo 或 ext.foo,也找不到配置 buildSrc 'project' 的方法,因为 main build.gradle 中没有任何部分。它就像存在于一个自己的岛屿上。我试过了:
有没有办法解决这个问题,或者我是否必须重构我的整个项目以将报告代码移到其他地方,然后我可以配置它并跳过测试?
提前致谢。
我的团队管理着公司中许多其他团队使用的Nexus存储库。一个团队正在使用它来存储较大的存档文件(大多数为1.6GB,有时为4.5GB),这已经很好了,但是现在他们的行为变得很奇怪,在肯定存在的文件上出现504网关超时。一段时间后,文件将变得可用,就好像它们已被下载一样。可能是最近上传的影片,或者是几天前上传的影片,似乎相当随机。
我知道如果远程存储库运行缓慢,则代理存储库会发生此错误,但这是托管的!检索磁盘上的文件怎么会有超时错误?
这些错误根本不会出现在日志中,而是显示在GUI的一个框中,似乎是由于某种前端与后端通信速度较慢而引起的。日志文件中没有其他相关条目可以解释为什么托管文件检索缓慢。是否发生某种导致这种情况的加载或哈希处理,我们可以将其关闭还是至少进行监视?
这导致一个大型项目中的构建经常中断,并且由于没有日志,我们甚至无法监视其发生的时间和频率。
我们的Nexus版本2.6.4-02有点旧,升级是否可以解决?我们需要一个快速的解决方案,或者有很好的工作机会的解决方案。
提前致谢。
amazon-elb ×1
build.gradle ×1
file-upload ×1
gradle ×1
groovy ×1
hosted ×1
http ×1
junit ×1
keep-alive ×1
nexus ×1
sonatype ×1
timeout ×1