需求如下
用户A调用用户B的接口,往用户B的数据库里插入数据,同步过来的数据包括图片的URL,B用户要去A用户的服务器上下载图片
A用户的图片地址因为时间久远,人为删除,导致有些图片地址是访问不到的,这样会导致B用户在FileInputStream()读取文件的时候一直等,直到超时。
由于B用户在读取不存在的图片地址时导致超时,A用户发现B迟迟没有响应,于是又发起一条上一次发送过的插入数据请求。
1.A用户开了多个线程将不同表里的数据插入到用户B
2.同步的文件时在局域网中,所以没有读取本地文件来的快,可以马上判断出文件是否存在
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
把B的超时时间设置的比A短一些就好了。
关于Stream超时的设置,你在读取Stream的时候,需要在While循环中read吧?在while之前打个时间戳,在循环过程中不停与当前相减,如果到期了就跳出去。
话说,找不到文件还会用到Stream?直接抛出去了吧?