[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