Сообщение создано: 13. 04. 2016 [06:47]
|
Petr2off
Владимир Петров
Создатель темы
Зарегистрирован(а) с: 08.07.2015
Сообщения: 38
|
Добрый день всем.
Столкнулся со следующей проблемкой (ошибка или фича - Роман вердикт вынесет). Суть в следующем. Есть стенд разработки, есть собственно говоря объект. Цикл работ сейчас следующий.
1) Делается доработка на стенде, первичная отладка.
2) Проект (каталог .openscada ) копируется на флешку и переносится на целевую систему,
3) На целевой системе производится окончательное тестирование, делаются изменение
4) Перенос обратно на стенд.
Пока проект был небольшой, все чудесно работало. Сейчас он разросся до 240 мб и возникла следующая ситуация:
При выполнении п.2 я обнаруживаю, что перенеслась предыдущая версия. Аналогично при выполнении п.4.
Костыль нашелся случайно, в офисе ночью вырубили свет, и я обнаружил, что у меня поднялась предыдущую версия.
Суть костыля, если после п.1 я выполняю перезагрузку Linux, то. в п.2 имею при переносе последнюю версию.
Осмелюсь высказать предположение, что операция сохранение проекта, сохраняет его в кэше. И закрытие скады этот кэш не сбрасывает. И в файлах остается предыдущая версия. Перезагрузка linux этот кэш сбрасывает. Не знаю - поддерживает ли SQLite опперацию Commit, но похоже этой операции нет.
Костыль не очень удобный.
|
Сообщение создано: 13. 04. 2016 [07:37]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"Petr2off" wrote:
Костыль не очень удобный.
Может чей-то и костыль, но точно не OpenSCADA!
Переношу и большие и проблем не имею. В Вашем случае Вы как раз и забываете про транзакции SQLite и вероятно сразу после изменений, не останавливая OpenSCADA, забираете базу с незавершённой транзакцией(ми).
И ДА, OpenSCADA при выходе их закрывает, что можно сделать и соответствующей кнопкой, если нельзя останавливать OpenSCADA. Но не сохраняет изменения если Вы их сами не сохранили или не указали на автоматическое сохранение!
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 13. 04. 2016 [14:46]
|
Petr2off
Владимир Петров
Создатель темы
Зарегистрирован(а) с: 08.07.2015
Сообщения: 38
|
Роман, в этом то и есть проблема, что перед переносом я скаду останавливаю. Более того, в параметр автосохранения выставил в 5 минут. После изменения любого элемента - выполню операцию сохранить в БД. Но помогает только перезагрузка Linux. Я понимаю, что это скорей всего какой то косяк SQLite. Может ли ситуация улучшится, если перейти на постгрес например ?
|