kedr19 писал(а):Как алгоритм восстановления чека после сбоя сработает при таком выходе.
Если база не поменяется, то чек восстановится нормально. Если перезапуск будет связан с изменением коннекта к БД, то чек не восстановится, т.к. он оперативно (до закрытия чека) хранится в БД LinCash.
kedr19 писал(а): Насколько я понимаю демон нужен для того чтобы понять куда записывать данные и откуда их считывать. Если это так то записывать ему ничего не нужно так как БД общая и там работает свой демон, а для выгрузки по сути ничего не меняется. Тоесть демоны и правда тут вообще не причем - это так?
Не совсем (ну или мы с Вами в определениях запутались
). Демоны upload и daemon_unload сами выполняют загрузку/выгрузку данных - в них реализованы подключения к базам (независимые от интерфейса кассы) и собственно логика конвертации поддерживаемых протоколов. Соответственно, если настройки подключения к базам в /etc/dancy/LinCash_db.conf и/или /etc/dancy/Trans_db.conf поменялись, демоны должны переподключиться к новым базам. Но в общем-то это и было реализовано, т.к. upload и daemon_unload считывают настройки коннектов каждый раз при получении файла-флага (=команды) загруки/выгрузки.
kedr19 писал(а):Был бы я силен в этом не писал бы) его же нужно еще подкинуть в демон который будет мониторить папку на наличие файла откуда считать данные сервера. Вот тут то у меня и напряги)
В Linux есть понятие "демонизация" (открепление от родительского процесса). Для скриптов демонизация выполняется добавлением к имени скрипта символа &.
Соответственно идея проста:
пишем скрипт, который в бесконечном цикле проверяет наличие определенного файла в определенном каталоге. Если файл есть - выполняются какие-то действия, если нет - sleep 60 (или любое другое кол-во секунд).
Добавляем этот скрипт в автозапуск с демонизацией
имя_скрипта &
(например, тупо в /etc/rc.local)
и получаем не нагружающий систему (ибо sleep высвобождает ресурсы для процессора) "скриптовой" демон.
У нашего отдела автоматизации по этому принципу, например, построен обмен через 3G-модемы с периодическим поднятием/разрывом связи по модему и проверкой/загрузкой файлов по Интернет.