🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
5 messages
5 total messages Started by królewna Mon, 18 Jan 2010 12:04
Plik konfiguracyjny
#27232
Author: królewna
Date: Mon, 18 Jan 2010 12:04
12 lines
1186 bytes
Witam,

Czy jest jakiś elegancki, prosty, miły i przyjemny sposób nie tyle 
odczytywania (bo to znalazłam 
http://docs.python.org/library/configparser.html) ale sprawdzania czy 
dany plik konfiguracyjny zmienił się? Czy najlepiej robić to przez 
sprawdzanie czasu ostatniej modyfikacji? Chodzi mi to to, żeby plik ten 
sprawdzany w miarę często (nie rzadziej niż co 10 minut) w aplikacji, 
która będzie chodziła na okrągło.

--
królewna
Re: Plik konfiguracyjny
#27233
Author: Łukasz Rekucki
Date: Mon, 18 Jan 2010 12:47
18 lines
1893 bytes
On Jan 18, 1:04 pm, królewna <krole...@ee.pl> wrote:
> Witam,
>
> Czy jest jakiś elegancki, prosty, miły i przyjemny sposób nie tyle
> odczytywania (bo to znalazłamhttp://docs.python.org/library/configparser.html) ale sprawdzania czy
> dany plik konfiguracyjny zmienił się? Czy najlepiej robić to przez
> sprawdzanie czasu ostatniej modyfikacji? Chodzi mi to to, żeby plik ten
> sprawdzany w miarę często (nie rzadziej niż co 10 minut) w aplikacji,
> która będzie chodziła na okrągło.
>
> --
> królewna

Sprawdzanie czasu modyfikacji to chyba jedyne przenośne rozwiązanie.
Pod linux'em można użyć inotify, żeby dowiedzieć się o zmianie zaraz
po jej wystąpieniu.

http://trac.dbzteam.org/pyinotify
Re: Plik konfiguracyjny
#27234
Author: Rob Wolfe
Date: Mon, 18 Jan 2010 14:40
21 lines
1571 bytes
królewna <krolewna@ee.pl> writes:

> Witam,
>
> Czy jest jakiś elegancki, prosty, miły i przyjemny sposób nie tyle
> odczytywania (bo to znalazłam
> http://docs.python.org/library/configparser.html) ale sprawdzania czy
> dany plik konfiguracyjny zmienił się? Czy najlepiej robić to przez
> sprawdzanie czasu ostatniej modyfikacji? Chodzi mi to to, żeby plik
> ten sprawdzany w miarę często (nie rzadziej niż co 10 minut) w
> aplikacji, która będzie chodziła na okrągło.

W Linuksie tradycją jest obsługa sygnału SIGHUP polegającą
na ponownym wczytaniu konfiguracji, czyli:
1. modyfikacja pliku konfiguracji
2. kill -HUP <pid procesu>
3. proces działa z nową konfiguracją

Jeśli to jest możliwe w tym przypadku, to polecam to rozwiązanie.

RW
Re: Plik konfiguracyjny
#27235
Author: Daniel Mróz
Date: Mon, 18 Jan 2010 14:55
27 lines
2256 bytes
On 18.01.2010, królewna <krolewna@ee.pl> wrote:
> Czy jest jakiś elegancki, prosty, miły i przyjemny sposób nie tyle 
> odczytywania (bo to znalazłam 
> http://docs.python.org/library/configparser.html) ale sprawdzania czy 
> dany plik konfiguracyjny zmienił się? Czy najlepiej robić to przez 
> sprawdzanie czasu ostatniej modyfikacji? Chodzi mi to to, żeby plik ten 
> sprawdzany w miarę często (nie rzadziej niż co 10 minut) w aplikacji, 
> która będzie chodziła na okrągło.
W Linuksie nailepiej użyć inotify lub FAM.
Jeśli nie ma takiej możliwości (kernel nie obsługuje, lub jest inny system)
pewniejszym sposobem od sprawdzania czasu jest porównywanie sumy (MD5, SHA,
cokolwiek innego), lecz wymaga to ponownego odczytania pliku. W przypadku,
gdy sprawdzanie konfiguracji tą metodą jest robione np. raz na minutę,
cyklicznie lub w momencie uruchamiania procedury, a przeparsowanie pliku
i inicjacja nie są dużo kosztowniejsze od przeliczenia sumy, można parsować
niezależnie od tego czy plik się zmienił czy nie. Aczkolwiek niektórzy
postrzegają to jako rozwiązanie mało eleganckie.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Re: Plik konfiguracyjny
#27236
Author: Piotr Husiatynski
Date: Tue, 19 Jan 2010 17:47
15 lines
1427 bytes
Dnia 18.01.2010 królewna <krolewna@ee.pl> napisał/a:
> Witam,
>
> Czy jest jakiś elegancki, prosty, miły i przyjemny sposób nie tyle 
> odczytywania (bo to znalazłam 
> http://docs.python.org/library/configparser.html) ale sprawdzania czy 
> dany plik konfiguracyjny zmienił się? Czy najlepiej robić to przez 
> sprawdzanie czasu ostatniej modyfikacji? Chodzi mi to to, żeby plik ten 
> sprawdzany w miarę często (nie rzadziej niż co 10 minut) w aplikacji, 
> która będzie chodziła na okrągło.

Liczenie hasha?

-- 
Piotr Husiatyński
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads