Private KeeperPrivate Keeper

Сессии

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

Slide 1
Slide 2
Slide 3
1 / 3

Принцип работы

Механизм сессий работает в автоматическом режиме:

Создание файла входящих данных

При запуске проекта в папке с результатами создаётся .Resources.db - копия исходных ресурсов.

Автосохранение

Детали работы проекта фиксируются в .Session.db каждые 15 секунд.


Работа с сессиями

Процедура восстановления работы из сессии

1

Откройте нужный проект в программе.

2

Если у проекта есть сохраненные сессии, при запуске будет доступна кнопка загрузки сессий.


Если в проект загрузить любые ресурсы, кнопка сессий пропадет. Чтобы ее вернуть, необходимо сбросить проект.


Структура файлов сессий

Система автоматически создает и обновляет файлы сессий

.Resources.db

Копия входящих данных.

.Session.db

Состояние выполнения проекта.


Файлы сохраняются в папке с результатами и обновляются каждые 15 секунд во время работы проекта


Ограничения системы

Глобальные переменные

Сессия сохраняет значения всех глобальных переменных, объявленных проектом. Если при восстановлении набор их имён полностью совпадает с набором в сохранённой сессии, восстанавливаются все значения, включая пустой и многострочный текст.

Если автор проекта добавил, удалил или переименовал хотя бы одну глобальную переменную, сохранённые значения не применяются частично: все глобальные переменные заполняются заново значениями проекта, а программа явно сообщает об этом.

Сессии не сохраняют состояние динамических переменных, локальные значения интерпретатора и контекст JavaScript. После восстановления эти значения и скрипты начинают работу со стандартного состояния; сохранение глобальных переменных описано выше.

Практические примеры

Самый простой пример - это динамические переменные в расширенной статистике. Допустим, ведется учет хороших результатов и заблокированных аккаунтов. Если на момент сохранения сессии счетчики имели значения 43 и 15, то после восстановления они будут равны 0 и отсчет пойдет с самого начала.