Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-49435
Silver_
2003-12-18 14:35
2004.01.16
Free Report


3-49408
BlackCat
2003-12-16 18:27
2004.01.16
Как построить такой запрос...


3-49390
Denis555
2003-12-19 19:03
2004.01.16
TTable не хочет отправлять изменения на MSSQL


14-49758
Style
2003-12-23 21:53
2004.01.16
Господа мастера! А вы можете провести экзамен у желающих


1-49567
Eagle Owl
2004-01-02 15:20
2004.01.16
Code Insight





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский