Moje knihovna nikdy nebyla nasazena v produkci, je to ciste experimentalni 
zalezitost, hricka pro studijni ucely. Autor puvodniho dotazu hleda neco pro 
studijni a vyukove ucely, pokud se nepletu.

Server si v zadnem pripade nepamatuje stav zamku pri restartu, klientska cast 
neresi vypadky spojeni, neimplementuje reconnect apod. Pokud nastane chyba v 
TCP, na strane klienta se vyhodi vyjimka socket.error a je jen na nem, jak se 
zachova. 

Knihovna take neresi deadlock, ale to ani normalni threading neresi deadlocky. 
Jejich predchazeni je uz mimo ramec teto diskuze.

BTW, nad jednoduchym lockem lze stavet vyssi primitiva, semafory apod.


Dne úterý 29. září 2015 15:51:15 UTC+2 Petr Messner napsal(a):
> Zajímavý kus kódu. Co se stane, když se server restartuje, zůstane stav zámků 
> zachován? Co se stane, když klient požádá o acquire a musí čekat, protože 
> zámek má již někdo jiný, ale zrovna v tu chvíli vypadne síť, spojení se 
> ukončí a recv() vrátí prázdný řetězec?
> 
> 
> Když už řešit zamykání takhle síťově, tak aspoň pořádně :) Viz např. Redis 
> (http://antirez.com/news/77) Apache Zookeeper, Apache Helix...
> 
> 
> Bohužel, distribuované algoritmy nejsou tak jednoduché, že by do "normálního" 
> algoritmu stačilo přidat sokety.
> 
> 
> PM
> 
> 
> Dne 29. září 2015 15:30 Pavel Schön <pa...@schon.cz> napsal(a):
> Ahoj,
> 
> 
> 
> dovolim si navrhnout pure python reseni na strane serveru zalozene na 
> threadingu a lockach. Kdysi jsem napsal jednoduchy lock manager. Viz:
> 
> 
> 
> http://code.activestate.com/recipes/578194-distributed-lock-manager-for-python/
> 
> 
> 
> Ve zkratce:
> 
> 
> 
> - na serveru bezi TCP daemon (./dlm.py), ktery obsluhuje klienty.
> 
> - na klienty umistis tentyz soubor dlm.py, ktery si klientska aplikace 
> importne a vola podle potreby.
> 
> 
> 
> Aplikace potom funguje velmi podobne, jako bys programoval s mutexy.
> 
> 
> 
> _______________________________________________
> 
> Python mailing list
> 
> pyt...@py.cz
> 
> http://www.py.cz/mailman/listinfo/python
> 
> 
> 
> Visit: http://www.py.cz

_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Odpovedet emailem