SCDF在PCF上启动了大量任务(约30个),但是我们遇到了SCDF的磁盘空间问题,该问题似乎是由于每次调用任务时SCDF下载工件造成的。
每次下载工件并填充PCF上SCDF实例的〜tmp /中的磁盘空间是不理想的。 有没有办法告诉SCDF如果工件已经存在,不要下载它?
另外,有人可以解释一下工件下载的机制,比较sha1哈希和启动任务(及其周围的各种选项)
谢谢!
答案 0 :(得分:1)
出于以下原因,SCDF在服务器端下载了工件。
1)元数据(应用程序属性)检索-如果您具有显式的元数据资源,则仅下载该元数据资源 2)相应的部署者(本地,CF)最终在发送部署请求/启动请求之前下载了工件。
下载工件时,哈希值用于创建唯一的临时文件。
有没有办法告诉SCDF如果工件已经存在,不要下载它?
总是总是下载基于HTTP(或除maven,docker以外的任何基于URL的显式URL)的工件,这是因为特定URL中的资源可以用其他资源替换,而我们不这样做在这种情况下不想使用缓存。
此外,我们最近不赞成使用缓存清理机制,因为它没有得到有效利用。
如果您的用例(具有特定磁盘空间限制,无法处理多个工件)需要清除缓存功能,请创建Github请求here
我们还考虑在部署/启动基于HTTP的工件后将其删除。看起来现在值得重新讨论。