[python] multiprocess manager

Tomas Pelka tompelka na gmail.com
Úterý Červenec 27 09:20:17 CEST 2010



On 07/27/2010 08:49 AM, Jirka Vejrazka wrote:
> Ahoj,
>
>    me to po ranu moc nemysli, tak me ber s rezervou :)
>
>> worker = w.Worker() #TOHLE FUNGUJE JAK MA
>
Po tomto ma jeste nasledovat jeden radek
worker.go('eth2', 'tcp port 22') # napriklad

>    Urcite? Neber to ve zlem, ale mas jistotu, ze to startuje ten
> spravny Worker? Uz je to dlouho, co jsem si s timhle hral, ale koukal
> jsem ted do nejakeho stareho kodu a tam jsem nasel neco, co by u tebe
> vypadalo asi takhle:
>
>> from Worker import Worker
>> class WorkerManager(BaseManager):
>>      pass
>> WorkerManager.register('Worker', Worker)   # ma 2 parametry!
>
>   Navic nikde nevidim, ze bys volal WorkerManager.start(), vypada to,
> ze cely multiprocessing vlastne nefunguje, budes se na to muset jeste
> trochu podivat. Vim, ze to neni uplne skvela rada, ale zacni od
> mensich veci a vyzkousej si na nich jak multiprocessing funguje,
> sniffovani paketu mezi ne nepatri :-)  Rikam to jenom proto, ze jsem
> prosel stejnou cestu jako ty a nakonec jsem skoncil u neceho radove
> slozitejsiho nez jsem cekal.
>
>   Par poznamek na okraj:
>
>    - mel jsem podobne problemy jako ty, neslo mi volat terminate() na
> vzdalenem procesu. Nakonec jsem skoncil se specialni "ridici frontou",
> kam jsem tomu vzdalenemu procesu poslal vzkaz, aby se ukoncil sam. To
> fungovalo.
>   - myslim, ze definovat QueueManager ve Worker.__init__() je spatne
> jak koncepcne, tak technicky (nejsem si jisty, jestli to
> multiprocessing zvladne, spustit manager teoreticky na jinem stroji).
> Navic se zda, ze mu taky chybi start().

Ano start() chybi, mas pravdu, viz vyse.

>   - mrkni se na PEP08 ;-)
Porad si ten code style nemuzu zazit :)
>
>    Jak jsem psal, rano neni moje nejlepsi doba, tak me ber s rezervou ;-)
>
>      Jirka
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python

-- 
Tomas Pelka



Další informace o konferenci Python