kdb - 跳过错误并在 kdb 中记录下载
问题描述
我正在尝试使用 kdb q 脚本从远程源下载文件。如果出现错误,如何使下载继续进行?另外,当同一目录中有其他文件时,如何标记它在linux中下载的内容???
这是我的代码:
file:("abc.csv";"def.csv");
dbdir:"/home/terry/";
dlFunc:{
system "download.sh abc.com user /"get /remote/path/",x /",dbdir};
dlFunc each file;
解决方案
如果您询问如何在一个文件失败时继续下载其他文件,那么您可以在您的 eval 周围放置一个受保护的 eval dlFunc each file
,例如
@[dlFunc;;()]each file;
您可以使用以下内容捕获失败文件的列表:
badfiles:();
{@[dlFunc;x;{y;badfiles,:enlist x}x]}each file;
然后检查badfiles
列表。成功的将是:
file except badfiles
推荐阅读
- c# - 表达式是否有默认值,不影响它?
- elasticsearch - 在 k8s 插件文件中部署 ELK 时出现“Kibana 服务器尚未准备好”错误
- fullpage.js - 防止从部分滚动,但允许在 Fullpage.js 中进行定位导航
- vue.js - 在Vue中单击组件时无法切换状态
- python - ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all() (图像裁剪)
- sql-server - 在 ASP.Net Core 应用程序中动态更改 SQL Server 连接字符串
- mysql - 如何扭转这个过程的结果?
- azure - Azure Storage V2 中的文件在冷层 30 天和存档层 180 天后会发生什么?
- windows - 使用批处理文件从 txt 文件中读取特定值
- mongodb - 在mongodb中是否有可能我可以备份特定时间的数据库我的意思是我想要备份数据库例如:8pm - 9pm = 1小时仅更改