| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > возобновление программы после краха |
| Автор: implements 19.5.2014, 07:18 |
| Добрый день, есть очень сложная функция которая выполняется долго(может доходить до суток), так вот есть ли возможность делать и сохранять периодически "снимки памяти", или какие стеки, и сохранять их, и если в друг по каким причинам выполнение программы оборвалось, то подсунуть ей последний backup, чтоб заново не начинать обработку. У кого есть какие мысли, может кто сталкивался с таким. |
| Автор: LSD 19.5.2014, 10:37 |
| Что делает функция, вычисления, обработка данных? |
| Автор: implements 19.5.2014, 11:37 |
вычисление подается множество значений, из них получаем другое множество |
| Автор: LSD 19.5.2014, 12:47 |
| Я бы смотрел в сторону http://doc.akka.io/docs/akka/snapshot/scala/persistence.html. |
| Автор: JDmitry 21.5.2014, 12:25 |
| Конечно можно и persistent очереди использовать, но самый оптимальный вариант - разбить задачу на много подзадач и сначала сохранять результат этих подзадач в базе. А потом когда все просчитаются - отдать просчет промежуточных данных большой задаче. Польза такого подхода в том, что при падении системы вы можете получить список необработанных подзадач и запустить обработку необработанных не пересчитывая те, что обработались корректно. |