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
> python@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

Reply via email to