Path: csiph.com!goblin3!goblin.stu.neva.ru!news.netfront.net!not-for-mail From: =?UTF-8?Q?Honza_Kr=C3=A1l?= Newsgroups: cz.comp.lang.python Subject: Re: [python] Roboti, REST, Flask? Date: Tue, 29 Sep 2015 18:31:38 +0200 Organization: Netfront http://www.netfront.net/ Lines: 100 Message-ID: References: <20150911102950.78492937@masina.tlapicka.net> <55F2C930.50408@firma.seznam.cz> <53a3a6b3-ad14-4017-b008-9b283867ffef@googlegroups.com> <246451bc-39ef-492a-a53b-963d82dd6bd9@googlegroups.com> NNTP-Posting-Host: 194.228.3.217 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: adenine.netfront.net 1443544324 93242 194.228.3.217 (29 Sep 2015 16:32:04 GMT) X-Complaints-To: news@netfront.net NNTP-Posting-Date: Tue, 29 Sep 2015 16:32:04 +0000 (UTC) To: Konference PyCZ Received-SPF: pass (Address passes the Sender Policy Framework) SPF=MAILFROM; sender=honza.kral@gmail.com; remoteip=::ffff:209.85.212.180; remotehost=; helo=mail-wi0-f180.google.com; receiver=hugo.zagamma.cz; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; bh=19fYUBN/5iTJ+Ltb3luHVVLKE1CYRqdJD1+aoyhy88w=; b=UxoB1NsxknRQS37OU9/VhV8REBilAcdaniew7kiWd5zokRo2vyEB/wH/CJhxzaacR8 vJZyaSBrhQ0cYvpPFfbxDVIJC1bhxKrvs36a6UsKEfi324kftfM5e9NzVuFuhqcLqn6G DaWRt+OHaEND7ZHQqn5u5ZaDpOPwo6icZqQ9YS5ViY6MgbpSddGO5inZlfOwArAr6UZ3 r4GiS4VCoIivRfu4bXZgK9M2/jIrS8Y7qsAmKaHdZ2jnJ+88qCyIMqSxRbM4We0A04b5 x0/HHyLw8vbST/+S4JIub96uTsTY0QH/gPRN5LiVCiCgnibZ3nji+zzh/XM4tknQJq/f Q91A== X-Received: by 10.194.76.7 with SMTP id g7mr19900997wjw.44.1443544318406; Tue, 29 Sep 2015 09:31:58 -0700 (PDT) In-Reply-To: <246451bc-39ef-492a-a53b-963d82dd6bd9@googlegroups.com> X-BeenThere: python@py.cz X-Mailman-Version: 2.1.20 Precedence: list List-Id: Konference PyCZ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com cz.comp.lang.python:3042 2015-09-29 16:28 GMT+02:00 Pavel Sch=C3=B6n : > Moje knihovna nikdy nebyla nasazena v produkci, je to ciste experimentaln= i zalezitost, hricka pro studijni ucely. Autor puvodniho dotazu hleda neco = pro studijni a vyukove ucely, pokud se nepletu. Obzvlast pro vyukove ucely je skutecne vhodne vybrat dobra reseni, v tomto pripade tedy neco ze std knihovny nebo neco co funguje a plni sliby Nejhorsi co se muze stat je, ze se nekdo nauci spatne postupy a principy, proto je vzdy dulezite, obcas i za cenu komplexity (django vs flask) nebo extra zavislosti (gunicorn nebo twisted na normalni server vs custom tcp socket), zvolit reseni ktere podporuje dobre navyky. V tomhle pripade je dobry navyk i nevynalezat kolo. > Server si v zadnem pripade nepamatuje stav zamku pri restartu, klientska = cast neresi vypadky spojeni, neimplementuje reconnect apod. Pokud nastane c= hyba v TCP, na strane klienta se vyhodi vyjimka socket.error a je jen na ne= m, jak se zachova. > > Knihovna take neresi deadlock, ale to ani normalni threading neresi deadl= ocky. Jejich predchazeni je uz mimo ramec teto diskuze. > > BTW, nad jednoduchym lockem lze stavet vyssi primitiva, semafory apod. > > > Dne =C3=BAter=C3=BD 29. z=C3=A1=C5=99=C3=AD 2015 15:51:15 UTC+2 Petr Mess= ner napsal(a): >> Zaj=C3=ADmav=C3=BD kus k=C3=B3du. Co se stane, kdy=C5=BE se server resta= rtuje, z=C5=AFstane stav z=C3=A1mk=C5=AF zachov=C3=A1n? Co se stane, kdy=C5= =BE klient po=C5=BE=C3=A1d=C3=A1 o acquire a mus=C3=AD =C4=8Dekat, proto=C5= =BEe z=C3=A1mek m=C3=A1 ji=C5=BE n=C4=9Bkdo jin=C3=BD, ale zrovna v tu chv= =C3=ADli vypadne s=C3=AD=C5=A5, spojen=C3=AD se ukon=C4=8D=C3=AD a recv() v= r=C3=A1t=C3=AD pr=C3=A1zdn=C3=BD =C5=99et=C4=9Bzec? >> >> >> Kdy=C5=BE u=C5=BE =C5=99e=C5=A1it zamyk=C3=A1n=C3=AD takhle s=C3=AD=C5= =A5ov=C4=9B, tak aspo=C5=88 po=C5=99=C3=A1dn=C4=9B :) Viz nap=C5=99. Redis = (http://antirez.com/news/77) Apache Zookeeper, Apache Helix... >> >> >> Bohu=C5=BEel, distribuovan=C3=A9 algoritmy nejsou tak jednoduch=C3=A9, = =C5=BEe by do "norm=C3=A1ln=C3=ADho" algoritmu sta=C4=8Dilo p=C5=99idat sok= ety. >> >> >> PM >> >> >> Dne 29. z=C3=A1=C5=99=C3=AD 2015 15:30 Pavel Sch=C3=B6n = napsal(a): >> Ahoj, >> >> >> >> dovolim si navrhnout pure python reseni na strane serveru zalozene na th= readingu 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 i= mportne 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 --- news://freenews.netfront.net/ - complaints: news@netfront.net ---