我正在运行一个控制台应用程序,通过循环遍历TableA中的所有记录(大约250000条记录)来创建或更新记录到TableB中。但我想知道如果我的控制台应用程序在两者之间失败了怎么继续......到目前为止发生了两次,我继续删除记录并重新开始。
有人可以建议我如何从我离开的地方继续运行控制台应用程序,如果我有记录的GUID我的进程失败。
答案 0 :(得分:0)
解决此问题的最佳方法是不会失败或从错误中恢复。
如果您不想跟踪进度,只需将当前正在处理的GUID写入文件即可。
File.WriteAllText("tmp.txt", GUID.ToString());
您可以随后从此文件中读取GUID。
您还可以使用“应用程序设置”存储最后一个GUID。
https://msdn.microsoft.com/en-us/library/bb397750(v=vs.110).aspx
答案 1 :(得分:0)
将已迁移对象的Guid保存在文件或其他存储中。然后从表A过滤数据并仅迁移失败的对象。
这是伪代码:
-v /var/run/docker.sock:/var/run/docker.sock