Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизЗапись в файл Найти похожие ветки
← →
Прямой (2004-01-05 17:14) [0]Прога сторонних разработчиков пишет лог. Новый лог-файл создается 1 раз в сутки, но не в 00:00, а в "старый" запись более не ведется. Как отловить тот момент из моей проги, что запись более не ведется. Примечание, лог-файл открыт не для монопольной записи!
← →
YuRock (2004-01-05 17:30) [1]Можно время-от-времени пробовать переименовывать/переносить файл. Если удастся - значит, файл НИКЕМ не открыт.
← →
default (2004-01-05 17:32) [2]если я всё правильно понял, запись не ведётся после того как создаётся новый лог-файл, так вот на это событие и надо тогда активизироваться...
← →
Прямой (2004-01-05 17:40) [3]default
Нет,они создаются внахлест. Вначале суток.
Далее в предидущий файл запись не ведется.
например
20030101 дата создания 00:05:25
20030102 дата создания 00:03:44
YuRock
Я же говорю что не для монопольной записи.
Можно его скопировать и в середине суток, и скопируется.
Книжку Румянцева "Работа с файлами Win32Api" я хорошо знаю.
← →
YuRock (2004-01-05 17:43) [4]> Книжку Румянцева "Работа с файлами Win32Api"
:))))))
> Можно его скопировать и в середине суток, и скопируется
Так скопируется, или перенесется (с удалением)?
← →
Прямой (2004-01-05 17:47) [5]Если лог удалить, в середине дня, я даже не знаю что будет, этот процесс критический. Если он нагнется, со мной сделают джагу-джагу. И эксперимент исключен.
← →
panov (2004-01-05 17:51) [6]>Прямой
Может быть несколько методов записи.
1. Файл открывается для добавления записи каждый раз, после этого закрывается.
2. Файл открывается не монопольно и закрывается только после окончания работы с ним.
----------
По методам обновления может быть такая разница:
а. После заполнения файла запись начинается сначала без уничтожения последующих данных.
б. После заполнения файла он удаляется и создается новыя с таким же именем.
в. После заполнения файла он очищается и запись начинается веститсь в этот файл.
г. После заполнения файла создается новый файл с другим именем и запись продолжается в него.
------------------------------
Можно узнать, как работает программа у тебя?
← →
Прямой (2004-01-05 18:03) [7]panov
Пункт 2
Пункт г, но с оговоркой. Остатки незавершенных процессов прошедших суток, продолжают дописываться в старый лог-файл, получается, что в некий момент(при переходе суток), ведется запись в 2 файла(но не долго, в среднем 3-5мин.).Соответственно то,что "случилось" в прошлые сутки дописывается в старый лог, а все что уже случилось в новых сутках , начинается писаться в новый лог.
← →
panov (2004-01-05 18:47) [8]Тогда метод решения такой:
Периодически пытаемся открыть файл монопольно с запретом доступа всем остальным(На запись/чтение - неважно).
Удачный захват файла означает его освобождение другими процессами, т.е. окончание записи.
← →
Sandman25 (2004-01-05 18:50) [9]А почему бы не попытаться найти оба файла?
Если у двух последних log файлов время последней записи различается меньше, чем на 3-5 минут, то ждем, есть опасность того, что во второй все еще ведется запись.
← →
Прямой (2004-01-05 18:53) [10]Спасибо, буду пробовать, если не выйдет, темку апну.
← →
YuRock (2004-01-05 18:54) [11]> panov © (05.01.04 18:47) [8]
+ еще проверив существование "нового" файла, на сколько я понял.
← →
Прямой (2004-01-05 18:57) [12]Sandman25
Повторюсь, процессы критические, если что-то не так пойдет, это потребует, в том числе, выезд специалистов в любое время суток. Обычно 3-5 минут, но в случае перегруза сервака, может доходить до 20 минут.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c