|
08. 11. 2011. | #1 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
Python fs monitor - watchdog
Nasao sam python paket koji radi monitoring fajl sistema. Ono sto mi je trebalo jeste da znam kada je u odredjenom folderu napravljen neki fajl/folder (sadrzaj) kako bih izvrsio odredjene radnje nad njim.
Glavni problem mi je kako da znam da je kreiranje/kopiranje tog novog sadrzaja zavrseno. To sam "ruzno" resio na sledeci nacin: Kôd:
dir_size = int(self.get_dir_size(Event.src_path)) old_dir_size = 0 while old_dir_size != dir_size: old_dir_size = dir_size time.sleep(5) dir_size = int(self.get_dir_size(Event.src_path)) Ovo bi me u vecini slucajeva pokrilo, ali problem nastaje u situaciji gde se u taj folder downloaduje nesto preko torenta/"download akceleratora" i korisnik pauzira/stopira download kako bi ga nastavio kasnije. Da li neko ima ideju kako ovo "pametnije" da resim ? OS na kome se izvrsava je windows. Takodje kao kvisko pitanje, koji je najpametniji nacin za spawnovanje deamon u windowsu? Edit: Paket je:http://packages.python.org/watchdog/ Poslednja izmena od cvele : 08. 11. 2011. u 08:06. |
08. 11. 2011. | #2 |
član
Certified
Datum učlanjenja: 03.10.2006
Poruke: 96
Hvala: 27
44 "Hvala" u 26 poruka
|
Meni se cini da ovo sto hoces nije nikako lak problem, i bojim se da fajl sistem nema nacina ovo da ti ponudi.
Sada napamet pricam - jedan nacin bi mozda bio da pogledas koji fajlovi su jos uvek otvoreni i od strane kojih procesa i sta oni rade sa njima (da li imaju otvorene sockete, pa da pratis neke standardne protokole itd.) pa da na osnovu toga doneses neki zakljucak - koji verovatno nece biti 100% tacan (u slucaju torrent-a ni to nije bulletproof). *nix i posix sistemi imaju naravno vrlo jasne nacine kako ovo da uradis (man proc, netstat etc.). Za win32 api ima nesto ovako mozda: http://stackoverflow.com/questions/1...iven-file-open Kolko vidim watchdog ne nudi tako nesto - tj rekao bih da je malo visi nivo apstrakcije. Takodje jos jedan zanimljiv post na SO koji moze biti od pomoci: http://stackoverflow.com/questions/5...er-application Za kraj, ako upses da resis na neki nacin molim te napisi ovde - mene vrlo zanima. |
"Hvala" djipko za poruku: |
08. 11. 2011. | #3 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
Palo mi je napamet resenje koje bi me spasilo u mom specificnom slucaju, ali nije univerzalno.
Posto se radi o zapakovanim arhivama, rar zip itd. Proveravam validnost arhive (crc) i radim uncompress samo ako je proslo ok. |
|
|