我们在下载 ERA5 数据的时候,大部分人应该都会遵守 cds 网站的指导,在配置完页面以后使用网站自动生成的 Python 示例代码进行下载(或者做一些外围修改,比如改为以日为循环或者改为多线程/进程,而核心的下载仍然使用 cdsapi 的方法)。
但是这种下载方法有一个问题,那就是它做不到断点续传。如果 cds 按照我们请求的表单生成的单个文件比较大的话,那么就很容易出现因为网络不稳定而导致的中断。一旦出现中断,如果直接在代码里增加简单的重试逻辑再次请求下载,那么 cds 就会重新生成一个新的链接给我们下载那么我们就需要从头再来(如果以几百 K 的速度辛辛苦苦下载到 99% 然后连接中断需要重新下载,是不是就很崩溃?)。如果反复出现网络波动,那么程序就会一次又一次地重新提交请求然后重新下载,这样不但浪费时间,也会给 cds 的服务器带来额外的压力。
所以我们需要用一个方法来实现断点续传。即使在下载的过程中链接中断了我们重试时,也能使用原有的链接从中断点继续下载,直到文件下载完成。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...