Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

FileSystem Watcher

[es] :: .NET :: FileSystem Watcher

[ Pregleda: 1785 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon FileSystem Watcher03.09.2010. u 09:19 - pre 165 meseci
Pozdrav,

napravio sam FileWatcher koji mi na odredjenoj lokaciji(Folderu) prati desavanja. Interesuju me samo eventi tipa Created, znaci samo kad se file kreira. Napominje m da taj folder moze imati N-subfolder-a, sto u sustini nije ni bitno, ali reda radi napominjem. Sada imam malo specificnu situaciju.

Naime kada se neki file kreira, u bazu se zapisu neki podaci vezani za sam file, tipa: Datum kreiranja, Path, etc. Znaci nista posebno. File se ne move-a nigdje nego ostaje na istoj lokaciji(U nekom od foldera ili podfoldera). Problem je u tome da kad ja zaustavim watcher, i kreiram jos recimo 10ak file-ova, FileWatcher ih ne moze registrovati(logicno). Eh sada bih htio, kada pokrenem ponovo watcher, da se recimo pokrene neka procedura koja ce pokupiti sve filove koji su stigli u medjuvremenu dok je Watcher bio ugasen. Znaci situacija je specificna, tj scenario je ovakav kakav sam opisao.

Interesuje me kako da provjerim filove koji su dosli u medjuvremenu, sobzirom da mi i stari ostaju tu gdje su pa ne mogu da razlikujem novo od starog.

Svaka pomoc je dobrodosla...
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: FileSystem Watcher03.09.2010. u 09:34 - pre 165 meseci
PA problem ti se svodi na poredjenju 2 liste fajlova kreiranih :
1.) kada je FileWatcher bio aktivan
2.) kada je FileWatcher bio neaktivan prostim izlistavanjem fajlova u folderu i podfolderima .

Za svaki folder / pod folder ispitujes naziv fajla, timestamp i proveravas da li ga ima u onoj prvoj listi .

Mozda je najbolje cak i da upises vreme zaustavljanja FileWatchera , pa da posle poredis samo datume pristiglih fajlova
u tom direktorijumu kada se sledeci put pokrene FW



Viva lollapalooza
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
212.200.231.*



+8 Profil

icon Re: FileSystem Watcher03.09.2010. u 09:36 - pre 165 meseci
Ako već pamtiš putanju svakog fajla, onda možeš da proveriš za svaki fajl da li postoji u bazi.

Drugo što mi pada na pamet je da napraviš neki hash za svaki folder, pa i to da čuvaš u bazi. Onda ne moraš proveravati fajl po fajl, već samo fajlove u onim folderima gde je hash različit od onog koji je u bazi.

Vidi i Microsoft Sync Framework, možda ti on može biti od koristi.
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 10:03 - pre 165 meseci
Citat:

Mozda je najbolje cak i da upises vreme zaustavljanja FileWatchera , pa da posle poredis samo datume pristiglih fajlova
u tom direktorijumu kada se sledeci put pokrene FW


Ovo mozda i nije losa ideja, pitanje samo gdje bih cuvao taj podatak/file? S obzirom da ga svako moze obrisati, da ga neko moze izmijeniti, virusi, etc...

@lukeguy

Nije mi bas ovo najoptimalnije rijesenje, s obzirom da moram x-puta citati bazu. Radi se o ogromnom broju podataka. Recimo, da bi u bazu trebalo svaki dan da se upise ca. 500.000 slogova.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: FileSystem Watcher03.09.2010. u 10:06 - pre 165 meseci
Citat:

Ovo mozda i nije losa ideja, pitanje samo gdje bih cuvao taj podatak?

Baza ? Opciono mozes i u registry
Viva lollapalooza
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 10:13 - pre 165 meseci
Pokusavam izbjeci citanja iz baze, bar do onog trenutka dok ne budu nuzna da nemam kuda dalje. Ali ocigledno taj trenutak nastupa vec ovdje, sobzirom da registry/file na disku ne dolaze u obzir. Razlog je jednostavana, svaka nova instalcija sistema/havarija/nehoticno brisanje/etc dovodi do gubitka podataka.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: FileSystem Watcher03.09.2010. u 10:28 - pre 165 meseci
Idealno resenje nekako zavisi od kolicine podataka. Kazes 500.000? Jel to svaki dan dodajes po 500.000 novih? Ili imas 500.000 ukupno svaki dan (i starih i novih)?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 13:38 - pre 165 meseci
Svaki dan dodje po 500.000. Recimo ovako da ne pricmao u prazno:

Imam 450.000 Klijenata(ca.) Svaki dan od svakog klijenta dobijem po jedan file u kojem se recimo nalazi narudzba. Svaki klijent 100% posalje po jedan zahtijev dnevno...

U bazu se naravno zapisuju smao osnovni podaci o fileu, a kasnije ih neko obradjuje(nije bitno na koji nacin.)
Nadam se da sam uspio objasniti
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: FileSystem Watcher03.09.2010. u 14:33 - pre 165 meseci
Ne verujem bas da ce jedan "select stoptime from neka_tabela " potrositi mnogo sistemskih resursa ,
osim ako se radi o vremenskom intervalu izmedju start i stop FW-a reda 10 ms sto je besmisleno :)

Zato sam i napomenuo da ti je ovo najbolje resenje , jer neces imati u petlji bespotrebnih komparacija fajlova koji ce usporavati ceo proces ,
vec samo listanje fajlova sa datumom vecim od stoptime-a .

Viva lollapalooza
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 15:18 - pre 165 meseci
Citat:

Ne verujem bas da ce jedan "select stoptime from neka_tabela " potrositi mnogo sistemskih resursa ,
osim ako se radi o vremenskom intervalu izmedju start i stop FW-a reda 10 ms sto je besmisleno :)

Zato sam i napomenuo da ti je ovo najbolje resenje , jer neces imati u petlji bespotrebnih komparacija fajlova koji ce usporavati ceo proces ,
vec samo listanje fajlova sa datumom vecim od stoptime-a .


Ja sam i rekoa u jednom dijelu da ocigledno nemam drugog izbora. Nemoj me pogresno shvatiti, samo sam htio cuti jos misljenja :D
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: FileSystem Watcher03.09.2010. u 15:25 - pre 165 meseci
Pazi samo na concurrency dok ti ceprkas koji su sve novi fajlovi dosli moze da dodje jos novih, tako da prvo moras da upalis filewatcher, a onda moras da pazis da ne uneses dupli unos za fajlove koji su stigli naokon sto si poceo sweep (jednom kroz filewatcher drugi put kroz sweep kad stigne do njega)
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 15:31 - pre 165 meseci
Citat:

Pazi samo na concurrency dok ti ceprkas koji su sve novi fajlovi dosli moze da dodje jos novih, tako da prvo moras da upalis filewatcher, a onda moras da pazis da ne uneses dupli unos za fajlove koji su stigli naokon sto si poceo sweep (jednom kroz filewatcher drugi put kroz sweep kad stigne do njega)


To i ejst moja najveca briga! Vec ludim od mogucih ludih scenarija
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: FileSystem Watcher03.09.2010. u 15:57 - pre 165 meseci
Pa moze to da se resi, drzis jednu sync listu i kontrolises joj pristup kroz lock, pa ko pre devojci njemu devojka. Pitanje moje je medjutim sta ce ti sve to? Zasto je neophodno da ovaj sistem bude realtime? AKo ovaj softver vec generise workload za obradu taj proces (obrada) mora imati neki tempo i porpusnu moc, na osnvu nje odredis refresh period i uradis sweep bez ikakvog filewatchera. Onda postoje i neki mehaznimi da se to ubrza malo
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: FileSystem Watcher03.09.2010. u 16:07 - pre 165 meseci
Možda je jednostavnije da se fajlovi obrađuju dok ih ima, i tek kad ih obradiš i nema ih više da se uključi FileWatcher. Ako tokom obrade jedng fajla dođe novi fajl onda će i novi doći na red, jer se fajlovi obrađuju dok ih ima.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: FileSystem Watcher03.09.2010. u 16:12 - pre 165 meseci
Ima folder strukturu, ako radi sweep prolazi lokacije, ako je filewatcher ukljucen na kraju a tokom sweepa dodje fajl u lokaciju koja je vec pregledana taj fajl ce biti ignorisan do sledeceg punog sweepa.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: FileSystem Watcher03.09.2010. u 16:30 - pre 165 meseci
Okej, završi glavni sweep, uključi file watcher, i uradi "za svaki slučaj" sweep. Ako je bilo fajlova u novom sweepu onda ponoviti drugu i treću tačku. Ako nije bilo fajlova onda od tog trenutka radimo sa file watcherom. Ovo je samo rešenje da se izbegne sinhronizacija, a naravno može da se reši i sa njom.
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
109.175.78.*



+1 Profil

icon Re: FileSystem Watcher03.09.2010. u 22:55 - pre 165 meseci
Znas kako je to kad imas iznad sebe ljude "koji uvijek bolje znaju". Naime moja zamisao koja perfektno radi je da napravis jedan obicni Batch task, koji svakih recimo 5 sek kupi fajlove koji su pristigli i jednostavno ih upisuje u bazu. Nakon upisa prekopira file na neku lokaciju iz koje se vrsi obrada pristiglih dokumenata. "Problem je taj" sto se ne svidja ideja da task radi stalno - po meni je to isti real time kao i FileSystem watcher ili grijesim? - Mozda cak i bolji jer me ne interesuje kad je ko stigao - jednostavno ako nesto ima u folderima, pokupi to, upisi i proslijedi dalje. Gotova prica...
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: FileSystem Watcher09.09.2010. u 16:01 - pre 165 meseci
Koristi samo Archive bit pri fajlovima, ne treba ti nikakva baza ili sl.

Vodi racuna sa kad fajl prvi put udje u folder ima Archive bit postavljen, to uradi u aplikaciji koja puni folder sa novim fajlovima. Kad udje fajl u folder imace Archive bit postavljen, tvoj filesystemwatcher onda sve sto obradi/iskopira i istovremeno postavlja Archive bit. Kad ponovo pokrenes watcher onda novi, neobradjeni fajlovi nece imati archive bit.
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

[es] :: .NET :: FileSystem Watcher

[ Pregleda: 1785 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.