Список открытых файлов
Добавлено: 20 Июль 2013, 18:58
Необходимо реалтайме видеть список открытых файлов, в том числе алиасов, если возможно. Если готовые примеры или шаблоны, заранее спасибо.
Место общения программистов, форум разработчиков БД на Clarion
https://forum.clarionlife.net/
Простите, не догоняю, что же всё-таки хочется увидеть? Что беспокоит-то? Блокировки какие или что?gopstop2007 писал(а):Хочется запустить tools-окно с мониторингом открытых-используемых файлов и увидеть то что нужно.
Вроде просто, а как сложноAdmin писал(а):Property на чтение статуса файла не помню что бы было. Без этого придется во все места открытия и закрытия вставлять свой код и в глобальном классе/переменных собирать информацию о количестве открытий/закрытий файлов и т.д.
Если используется только FileManager то все проще тем что можно его наследовать и изменить.
Как то так. Народ поправит надеюсь...
Спасибо, посмотрел - FileCallback, пригодится. Про STATUS знал, думал еще кто чего подскажет. Коллективный разумДед Пахом писал(а):Можно ещё FileCallback перехватывать, тогда все стандартные OPEN()/CLOSE() доступны, правда насчёт алиасов не уверен.
Если нужна отдельная утилита мониторинга, то это всё надо из основной программы в табличку БД писать, а в мониторе её периодически опрашивать.
Есть встроенная функция STATUS(FILE), но это вроде не то по условию задачи.
Старая программа, писалась периодически, хочется упорядочить "разросшийся" файл диктонари(DCT).Shur писал(а):Простите, не догоняю, что же всё-таки хочется увидеть? Что беспокоит-то? Блокировки какие или что?
Можно, если бы периодически файлы не пересоздавались, апендились и прочее.Shur писал(а):Может открыть все таблицы-файлы сразу при старте программы и снять проблему разом (мол типа всё открыто, мониторить нечего)?
TPS + ODBC, мониторинг локально, ABC.Shur писал(а):Какой в программе используется драйвер БД? Программа какая? Если многопользовательская и надо мониторить по всем юзерам, то надо сохранять в БД, если однопользовательская, то глобальной очереди достаточно. Темплейты какие? Уточните всё это.
Всё равно не ясно. Как это может повлиять? Ну ты увидишь, что таблица открылась, потом она закрылась. Какой из этого вывод?gopstop2007 писал(а):Старая программа, писалась периодически, хочется упорядочить "разросшийся" файл диктонари(DCT).
Пардон, вот здесь ещё...Shur писал(а):Интересует факт открыт/закрыт или необходим счётчик?
Когда делалось изначально, сильно не заморачивался с файлами, для параллельных процессов(процедур) создавал алиасы, если были сомнения насчет их "пересечения". Так как многие процессы работают параллельно по таймеру, по "запросу извне", четко определить "загруженность" файлов для меня тяжеловатоShur писал(а):Всё равно не ясно. Как это может повлиять? Ну ты увидишь, что таблица открылась, потом она закрылась. Какой из этого вывод?gopstop2007 писал(а):Старая программа, писалась периодически, хочется упорядочить "разросшийся" файл диктонари(DCT).
Или уже есть кандидаты на уничтожение?Пардон, вот здесь ещё...Shur писал(а):Интересует факт открыт/закрыт или необходим счётчик?
gopstop2007 писал(а):Когда делалось изначально, сильно не заморачивался с файлами, для параллельных процессов(процедур) создавал алиасы, если были сомнения насчет их "пересечения".
Раз всё так запущено, то я бы вернулся к идее открытия всех файлов разом. Append здесь никоим образом не мешает. А вот что с пересозданием файлов? Как сейчас оно происходит? Может нацелиться на переделку этого?gopstop2007 писал(а):Можно, если бы периодически файлы не пересоздавались, апендились и прочее.Shur писал(а): Может открыть все таблицы-файлы сразу при старте программы и снять проблему разом (мол типа всё открыто, мониторить нечего)?
Эх, вот так банально и серпом по я...мShur писал(а):Что до сабжа, то здесь мог бы помочь банальный профайл таблиц.
М-м... Как бы так помягче...gopstop2007 писал(а):Спасибо огромное, и как этим воспользоваться? Принцип шаблона?