来自Travis CI的慢速Braintree API请求

时间:2016-11-17 14:08:15

标签: clojure travis-ci braintree braintree-sandbox

我编写了一个使用Braintree Java SDK的服务器端Clojure服务。它会创建付款令牌,创建客户,处理通知等请求。我有一套测试,通过调用Braintree沙箱来测试所有这些。这一切都运行良好,直到我尝试在Travis上运行测试。

在特拉维斯,至少50%的时间,我的构建失败,因为它超时,我缩小了对Braintree SDK的第一次调用的调用(在我的情况下是找到客户,但它没有& #39; t似乎最重要的是什么电话)。代码在那里等待几分钟等待呼叫完成。有时它可以很快发生,其他时间可以通过10分钟并且Travis工作放弃了。这绝不会在当地发生。

有没有人知道发生了什么?因为它似乎只影响了对Braintree的第一次调用,或许与握手过程有关?还有其他人看过这个问题吗?

1 个答案:

答案 0 :(得分:1)

虽然它是在黑暗中拍摄,但这可能是构建平台缺乏良好熵源的问题,并且您的代码和/或依赖项的一部分在读取随机设备时阻塞。如果缺乏良好的熵源,可以通过安装hasged来解决这个问题。

要安装并启动haveged,需要使用apt addon。请将以下内容添加到.travis.yml中,看看是否有任何改进:

addons:
  apt:
    packages:
      - haveged