3

我不确定如何解决我遇到的问题,但如果我的应用程序正在为 1,000 个网页抓取 Google 关键字,如果我取消任务或抛出异常,那么保存任务完成程度的最佳方法是什么,因此,当它继续时,它会从当前位置恢复。

我是否序列化包含具有当前状态的属性的对象?我从来不用处理这个问题,也不确定要实际搜索什么。

4

2 回答 2

1

我按照要求将我的评论转换为答案。

我建议您将任务的状态保存到文件中。State我的意思是你的程序正在做的工作的当前状态。

例如,如果您的应用程序的任务是解析n文件数量。它在中间遇到了一个异常,比如说 file index 45。保存在您所在的临时文件中,45这样当应用程序再次运行时,您可以查询临时文件以查看是否有任何任务挂起,如果是,则从该点继续。

甚至我也不知道任何编程模式说这种方法,我只是提出了我的想法。

于 2013-08-18T20:56:46.550 回答
0

像数据库一样,使用硬盘:

  • 在文件中计划您未来的任务
  • 每次完成任务时,附加一些文本(任务 ID 或其他)

你必须处理一些并发,但我认为你可以处理它

使用 XML 来保存您的工作计划可能更先进,但之后更简单地记录具有已完成任务 ID 的文件。

于 2013-08-18T17:54:42.580 回答