tagsaver
Выполняет автоматическое сохранение значений тегов с флагом autosave в файлы и восстанавливает их при подаче команды start.
plugin.tagsaver: enable: on module.tagsaver1: enable: on history: 10 file.save: saves/1/save file.chng: saves/1/save.chng mirror.save: saves/1/save.mirror mirror.chng: saves/1/save.mirror.chng flag.autosave: autosave.shdsh
| Параметр | По умолчанию | Описание |
|---|---|---|
| flag.autosave | autosave | по умолчанию. Модули, теги которых должен сохранять данный модуль, должные иметь такое же значение в своих flag.autosave |
| file.save | saves/save | файл хранения значений сохраняемых тегов. Имя файла произвольное. Также можно указать путь - абсолютный, либо относительно файла конфигурации. Чтение из этого файла выполняется в момент старта системы командой start, а запись - в процессе останова (команда stop), либо по достижению лимита записей в файле file.chng |
| file.chng | file.save + .chng | файл хранения измененных значений сохраняемых тегов в процессе работы системы. Цель - обеспечить сохранность измененных значений тегов при внезапном завершении работы программы. Имя файла произвольное. Также можно указать путь - абсолютный, либо относительно файла конфигурации. Чтение файла выполняется в момент старта системы, а запись в процессе работы системы при изменении какого-либо из сохраняемых тегов. При останове системы после обновления файла file.save данный файл уничтожается. |
| mirror.save | file.save + .mirror | зеркалирование файла file.save |
| mirror.chng | mirror.save + .chng | зеркалирование файла file.chng |
| history | 10 | количество файлов предыдущих записей |
| chng.max | 10000 | максимальное количество строк в файлах *.chng, по достиженю которого происходит полное сохранение |
Если во время старта файлы file.save и mirror.save отсутствуют, то создаются.
Если при старте не удается считать значения из основных файлов file.save/file.chng, будет выполнена попытка считать данные из файлов зеркалирования - mirror.save/mirror.chng, и, если успешно, обновляется основной файл file.save. Если же при чтении зеркала возникла ошибка, то старт системы прерывается.
Как и большинство других модулей, tagsaver должен быть включен в цикл одной из задач и периодически вызываться.