<div dir="ltr">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?<div><br></div><div>Když už řešit zamykání takhle síťově, tak aspoň pořádně :) Viz např. Redis (<a href="http://antirez.com/news/77">http://antirez.com/news/77</a>) Apache Zookeeper, Apache Helix...</div><div><br></div><div>Bohužel, distribuované algoritmy nejsou tak jednoduché, že by do "normálního" algoritmu stačilo přidat sokety.</div><div class="gmail_extra"><br></div><div class="gmail_extra">PM</div><div class="gmail_extra"><br><div class="gmail_quote">Dne 29. září 2015 15:30 Pavel Schön <span dir="ltr"><<a href="mailto:pavel@schon.cz" target="_blank">pavel@schon.cz</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ahoj,<br>
<br>
dovolim si navrhnout pure python reseni na strane serveru zalozene na threadingu a lockach. Kdysi jsem napsal jednoduchy lock manager. Viz:<br>
<br>
<a href="http://code.activestate.com/recipes/578194-distributed-lock-manager-for-python/" rel="noreferrer" target="_blank">http://code.activestate.com/recipes/578194-distributed-lock-manager-for-python/</a><br>
<br>
Ve zkratce:<br>
<br>
- na serveru bezi TCP daemon (./dlm.py), ktery obsluhuje klienty.<br>
- na klienty umistis tentyz soubor dlm.py, ktery si klientska aplikace importne a vola podle potreby.<br>
<br>
Aplikace potom funguje velmi podobne, jako bys programoval s mutexy.<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:python@py.cz">python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" rel="noreferrer" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br>
<br>
Visit: <a href="http://www.py.cz" rel="noreferrer" target="_blank">http://www.py.cz</a><br>
</div></div></blockquote></div><br></div></div>