在 Scala 应用程序中使用 Apache Commons FTPClient在我的本地机器上按预期工作,但在 Heroku 上运行时总是超时。相关代码:
val ftp = new FTPClient
ftp.connect(hostname)
val success = ftp.login(username, pw)
if (success) {
ftp.changeWorkingDirectory(path)
//a logging statement here WILL print
val engine = ftp.initiateListParsing(ftp.printWorkingDirectory)
//a logging statement here will NOT print
while (engine.hasNext) {
val files = engine.getNext(5)
//do stuff with files
}
}
通过添加一些日志,我确认客户端已成功连接、登录和更改目录。但是在尝试开始检索文件时停止(通过上述分页访问或取消分页ftp.listFiles
)并引发连接超时异常(大约 15 分钟后)。
上述代码在本地运行良好但在 Heroku 上运行良好的任何原因?