Чтение архивов за прошлый период и Slice

Стартовая страница Форумы Разработка и интеграция Чтение архивов за прошлый период и Slice

Просмотр 15 сообщений - с 1 по 15 (из 17 всего)
  • Автор
    Сообщения
  • #39878
    manjey73
    Участник

    Собственно читать архивы не проблема, но есть один момент, связанный с тем, что у нас ограничена БД некоторой датой. И если мы читаем архив на дату, раньше ограничения, то ни драйвер, ни сервер не дает никакой информации об этом (ну или я не нашел).

    Так вот есть ли какой-то способ определить и вывести в лог, что архив за данную дату не может быть прочитан (даже если можно прочитать) по причине того, что он просто не сохранится никуда, так как дата чтения не соответствует настройкам архива?

    #39907
    Mikhail
    Модератор

    Только если настройки архива прочитать.
    Если выполняется чтение данных за пределами периода, в котором архив хранит данные, то возвращается пустой результат.

    #39909
    manjey73
    Участник

    Речь о записи. Как прочитать настройки архива из драйвера? и нужно ли это в принципе?

    Было бы более гуманнее, если бы Сервер возвращал Коммуникатору, что «Извиняйте батьку, бананив немае, архив не записан потоу-то»… И уже это просто кидать в лог.

    #39927
    Mikhail
    Модератор

    > Как прочитать настройки архива из драйвера?
    На мой взгляд, данная информация в драйвере будет лишней, как и причина, по которой отсутствуют данные в архиве.

    #39965
    manjey73
    Участник

    Вообще Slice очень неинформативен. Суть. Есть файлы в БД созданные предыдущей вариацией драйвера. Что-то поменял, запускаю чтение архива и тишина… полная, как в пустоту ушло.
    Ну, думаю, напортачил где-то в коде. А потом просто беру, удаляю полностью архивы, перезапускаю сервер и опять чтение, и упс — архивы записались.

    то есть что такого в БД? что перестает срабатывать slice? meta файл, еще что-то?

    Просто отсутствует любая информация от сервера что не понравилось при передаче архива.

    #39970
    manjey73
    Участник

    Еще один момент, в уже сформированную БД нельзя дописать каналы 🙁

    Большая печаль по данному поводу.
    Я перенастроил запись в БД «Hour» и не получил ровным счетом НИЧЕГО.

    Теперь внимание вопрос, мы подключили один прибор, прочитали в БД за прошлый месяц данные. Прошел месяц, подключили еще один прибор и пытаемся прочитать архивы уже за позапрошлый месяц (тот же самый месяц, куда писали первый прибор) И…. ничего, пусто…

    #39971
    manjey73
    Участник

    Получается система не имеет возможностей изменить метаданные БД за определенный день, при добавлении каналов, связанных с этой БД и записи архивных значений в прошлое ?

    Это только на встроенных БД или тоже самое будет и с Postgre не применяя экспортирование?

    Если так, то это архикосяк.

    • Ответ изменён 8 месяцев, 3 недели назад пользователем manjey73.
    #39973
    manjey73
    Участник

    Извиняюсь, возможно все эти катаклизмы связаны с тем, что я полностью менял каналы с тегами 🙂

    Будет требоваться более глобальное тестирование этого момента.

    #39974
    manjey73
    Участник

    И таки да, в сформированную БД, где не было канала, канал добавлен не был. Надо полностью удалить папку БД, чтобы каналы добавились при чтении архивных записей.

    полный размер

    1

    Хотя были добавлены каналы до 645-го

    #39980
    Mikhail
    Модератор

    Используйте архив PostgreSQL. В файловом архиве требуется изменять структуру данных, чтобы добавить канал, это происходит при старте Сервера.

    #39982
    manjey73
    Участник

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

    Или произойдет? У меня нет 2-х приборов для тестов. Ну выпросить могу, но если честно устал я от Логики 🙂 надо отдохнуть….

    #39983
    manjey73
    Участник

    Больше всего интересует обратная связь от Сервера при исполнении кода Slice, чтобы Сервер что-то возвращал, типа каналы (список) такие-то не сохранились по тому-то…
    Ну и в том же духе.

    #39997
    Mikhail
    Модератор

    С архивами работает Сервер. Коммуникатор не работает с архивами.
    Драйвер должен собрать данные и передать их Коммуникатору. Драйвер может получить от Коммуникатора сигнал, что архивы ушли «источнику данных». Дальнейшая судьба данных не относится к зоне ответственности драйвера.

    #39998
    manjey73
    Участник

    Ну как не относится? вернее интересна судьба переданных архивов источнику, то есть надо четко понимать, что архивы не просто ушли «источнику данных» но и обработаны, сохранены в этом самом источнике. И желательно с пониманием на какую точку времени они были сохранены и все ли каналы были сохранены.

    А то так пуляешь в пустоту иногда и не понимаешь причины а почему?
    Вот банальный пример — Коммуникатор работает по локальному времени, пока этого не понял, не понимал, на какое время происходит запись архива.

    #39999
    JurasskPark
    Участник

    В драйвер можно давить связь с сервером через TcpClient и через него проверить пришли ли данные… 😂

    Да даже через него и отправлять…)

Просмотр 15 сообщений - с 1 по 15 (из 17 всего)
  • Для ответа в этой теме необходимо авторизоваться.