我不确定如何解决我遇到的问题,但如果我的应用程序正在为 1,000 个网页抓取 Google 关键字,如果我取消任务或抛出异常,那么保存任务完成程度的最佳方法是什么,因此,当它继续时,它会从当前位置恢复。
我是否序列化包含具有当前状态的属性的对象?我从来不用处理这个问题,也不确定要实际搜索什么。
我不确定如何解决我遇到的问题,但如果我的应用程序正在为 1,000 个网页抓取 Google 关键字,如果我取消任务或抛出异常,那么保存任务完成程度的最佳方法是什么,因此,当它继续时,它会从当前位置恢复。
我是否序列化包含具有当前状态的属性的对象?我从来不用处理这个问题,也不确定要实际搜索什么。
我按照要求将我的评论转换为答案。
我建议您将任务的状态保存到文件中。State
我的意思是你的程序正在做的工作的当前状态。
例如,如果您的应用程序的任务是解析n
文件数量。它在中间遇到了一个异常,比如说 file index 45
。保存在您所在的临时文件中,45
这样当应用程序再次运行时,您可以查询临时文件以查看是否有任何任务挂起,如果是,则从该点继续。
甚至我也不知道任何编程模式说这种方法,我只是提出了我的想法。
像数据库一样,使用硬盘:
你必须处理一些并发,但我认为你可以处理它
使用 XML 来保存您的工作计划可能更先进,但之后更简单地记录具有已完成任务 ID 的文件。