[python] Roboti, REST, Flask?

Hynek Fabian hynek.fabian na firma.seznam.cz
Pátek Září 11 14:29:36 CEST 2015


Ja jsem asi moc ovlivnenej corewars, ale nejak mi unika k cemu by tam
sitova komunikace byla. Stacilo by kdyby klienti uploadnuli modul,
simulator si vsechny naimporti, projede a vyhodi vysledek (vitezove,
resp. zaznam tahu). Na to staci blbej sitovej share.


On 09/11/2015 11:05 AM, Honza Javorek wrote:
> Pokud bude REST API tim nejlepsim zpusobem jak to udelat (coz nemusi
> byt), tak bych to udelal nejak takto:
> 
> - hrac udela POST na nejake URL, to mu vrati HTTP kod 202, nejakou
> odpoved a Location hlavicku, v niz bude odkaz na URL s vysledkem
> - hrac dela nasledne polling na vysledkovem URL, kde se objevi odpoved
> az ve chvili, kdy bude server chtit (do te doby tam muze byt treba
> chybova odpoved informujici, ze server ceka na dalsi hrace - nejspis
> HTTP 423 Locked (WebDAV; RFC 4918), ale tohle rozsireni specky jsem
> necetl, jen podle nazvu mi to prijde nejbliz)
> 
> Maly priklad zde:
> http://restcookbook.com/Resources/asynchroneous-operations/
> 
> Honza
> 
> 2015-09-11 10:47 GMT+02:00 Ales Zoulek <ales.zoulek na gmail.com
> <mailto:ales.zoulek na gmail.com>>:
> 
>     Ahoj,
> 
>     jednotlivy hraci se budou nejak ovlinovat? (Napr pokud robot R1
>     stoji na poli 3,4 nemuze na nej R2)
> 
>     Pokud ne, proc proste kazdy student nekomunikuje se serverem
>     samostatne podle, server si vsechny tahy nahraje zobrazi vysledky az
>     kdyz vsichni tudenti poslou sve tahy?
> 
>     Pokud ale opravdu musi vsechny tahy synchronisovat, pak bych rekl,
>     ze implementacne bude lehci 2). Tak jak tak se zda rozumny, aby
>     studenti nepsali vlastniho rest klienta a dostali se zadanim i malou
>     knihovnu, ktera s tim flaskem komunikuje.
> 
>     A.
> 
>     On Fri, Sep 11, 2015 at 10:40 AM Petr Messner
>     <petr.messner na gmail.com <mailto:petr.messner na gmail.com>> wrote:
> 
>         Na tohle se hodí websocket, lze to provozovat i ve Flasku. Nebo
>         rovnou použit něco jiného, např. ZeroMQ.
> 
>         Petr Messner
> 
>         11. 9. 2015 v 10:29, Marek Nožka <marek na tlapicka.net
>         <mailto:marek na tlapicka.net>>:
> 
>         > Ahoj
>         >
>         > Potřeboval bych malou radu. Učím programování(Python) na SŠ.
>         Takže jsem
>         > vymyslel(okoukal), že si budeme hrát na Roboty. Bude to tahová
>         hra.
>         > Jednotliví roboti(studenti) se připojí k serveru a budou mezi
>         sebou soutěžit
>         > o nejlepší algoritmus, který projde bludištěm podle zadaných
>         pravidel.
>         >
>         > Na serverovou část jsem chtěl použít Flask a vytvořit
>         jednoduché REST API.
>         > Řeším ale jak mám obsloužit více klientů tak, aby na sebe
>         navzájem počkali.
>         > Každý klient by měl říct, kam táhne. Ale odpověď můžu poslat
>         až potom, co
>         > všichni pošlou požadavek. Napadli mě dvě řešení.
>         >
>         > 1) Klient pošle požadavek a čeká na odpověď. Stream odpovědi
>         se ale zastaví
>         >   a čeká se až se ozvou další klienti. Tohle nevím jak bych ve
>         Flasku
>         >   udělal -- pokud to tedy vůbec jde. Pokoušel jsem se to
>         vygooglit ale na
>         >   nic kloudného jsem nepřišel.
>         >
>         > 2) Klient pošle požadavek a za nějakou chvilku se zeptá jestli má
>         >   server už odpověď. To je zase více složitosti na straně klienta.
>         >
>         > Protože jsem nic podobného zatím nikdy nedělal, budu vděčný za
>         každou
>         > připomínku, poznámku nebo radu. Co za knihovnu/framework byste mi
>         > doporučovali.
>         >
>         > Dííííky
>         >           Marek
>         >
>         > --
>         > @ @ @       Marek Nožka
>         > '****.@
>         > :*****`@   email: marek <@t> tlapicka <d.t> net
>         > `*****'   jabber: tlapicka <@t> mitranet <d.t> cz
>         >  :****:      web: http://tlapicka.net/
>         >  `****'
>         >  `****'   Powered by Debian GNU/Linux
>         >  `.**'
>         >    ¨¨
>         > _______________________________________________
>         > Python mailing list
>         > python na py.cz <mailto:python na py.cz>
>         > http://www.py.cz/mailman/listinfo/python
>         >
>         > Visit: http://www.py.cz
>         _______________________________________________
>         Python mailing list
>         python na py.cz <mailto:python na py.cz>
>         http://www.py.cz/mailman/listinfo/python
> 
>         Visit: http://www.py.cz
> 
> 
>     _______________________________________________
>     Python mailing list
>     python na py.cz <mailto:python na py.cz>
>     http://www.py.cz/mailman/listinfo/python
> 
>     Visit: http://www.py.cz
> 
> 
> 
> 
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> Visit: http://www.py.cz
> 


Další informace o konferenci Python