2013-08-18 4 views
3

Я не уверен, как решить проблему, которую у меня есть, но если мое приложение очищает ключевые слова Google, скажем, 1000 веб-страниц, если я отменяю задачу или вызывается исключение, то какой лучший подход для сохраняя, насколько далеко поставлена ​​задача, поэтому, когда она продолжается, она возобновляется с текущей позиции.Сохранение текущего прогресса или состояние

Я сериализую объект, содержащий свойства с текущим статусом? Мне никогда не приходилось иметь дело с этим и не знать, что на самом деле искать.

+0

Я сохраню состояние в файл, когда есть исключение или отмените его, чтобы продолжить с точки, где он остановлен. –

+0

По состоянию, что вы имеете в виду? Сериализованный объект? –

+0

Да, я имею в виду текущий указатель того, где он остановился, скажем, индекс списка, который он обрабатывал, и т. Д. –

ответ

1

Я конвертирую свой комментарий для ответа в соответствии с просьбой сделать.

Я предлагаю вам сохранить состояние задачи в файле. К State Я имею в виду текущий статус работы вашей программы.

Например, если задача вашего приложения заключается в анализе количества файлов n. Он столкнулся с исключением из середины этого, скажем, индекса файла 45. Сохраните во временном файле, который вы были в 45, поэтому, когда приложение снова запускается, вы запрашиваете временный файл, чтобы узнать, ожидает ли какая-либо задача, если да, то продолжите с этой точки.

Даже я тоже не знаю, какой шаблон программирования говорит об этом подходе, я просто предложил свою идею.

0

Как базы данных делать, использовать жесткий диск:

  • план вашей будущей задачи в файле
  • Каждый раз, когда вы закончите задание, добавьте какой-нибудь текст (идентификатор задачи O независимо)

Вам нужно иметь дело с некоторыми параллелизмами, но я думаю, что вы можете с ним справиться

Использование XML, возможно, более продвинуто, чтобы сохранить свой план работы, но после этого проще запишите файл с идентификаторами готовых задач.