<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#cccccc">
<br>
<br>
On 07/27/2010 09:20 AM, Tomas Pelka wrote:
<blockquote cite="mid:4C4E88B1.7010009@gmail.com" type="cite"><br>
<br>
On 07/27/2010 08:49 AM, Jirka Vejrazka wrote:
<br>
<blockquote type="cite">Ahoj,
<br>
<br>
me to po ranu moc nemysli, tak me ber s rezervou :)
<br>
<br>
<blockquote type="cite">worker = w.Worker() #TOHLE FUNGUJE JAK MA
<br>
</blockquote>
<br>
</blockquote>
Po tomto ma jeste nasledovat jeden radek
<br>
worker.go('eth2', 'tcp port 22') # napriklad
<br>
<br>
<blockquote type="cite"> Urcite? Neber to ve zlem, ale mas jistotu,
ze to startuje ten
<br>
spravny Worker? Uz je to dlouho, co jsem si s timhle hral, ale koukal
<br>
jsem ted do nejakeho stareho kodu a tam jsem nasel neco, co by u tebe
<br>
vypadalo asi takhle:
<br>
<br>
<blockquote type="cite">from Worker import Worker
<br>
class WorkerManager(BaseManager):
<br>
pass
<br>
WorkerManager.register('Worker', Worker) # ma 2 parametry!
<br>
</blockquote>
<br>
</blockquote>
</blockquote>
No to by ale znamenalo ze Worker musi byt nekde definovany, nebo
importovany (from worker import Worker) a pak by to volani metod na
remote objektech ztracelo smysl. Jinak se to chova stejne v obou
pripadech, tedy WorkerManager.register('Worker', Worker) i
WorkerManager.register('Worker').<br>
<br>
<blockquote cite="mid:4C4E88B1.7010009@gmail.com" type="cite">
<blockquote type="cite"> Navic nikde nevidim, ze bys volal
WorkerManager.start(), vypada to,
<br>
ze cely multiprocessing vlastne nefunguje, budes se na to muset jeste
<br>
trochu podivat. Vim, ze to neni uplne skvela rada, ale zacni od
<br>
mensich veci a vyzkousej si na nich jak multiprocessing funguje,
<br>
sniffovani paketu mezi ne nepatri :-) Rikam to jenom proto, ze jsem
<br>
prosel stejnou cestu jako ty a nakonec jsem skoncil u neceho radove
<br>
slozitejsiho nez jsem cekal.
<br>
<br>
Par poznamek na okraj:
<br>
<br>
- mel jsem podobne problemy jako ty, neslo mi volat terminate() na
<br>
vzdalenem procesu. Nakonec jsem skoncil se specialni "ridici frontou",
<br>
kam jsem tomu vzdalenemu procesu poslal vzkaz, aby se ukoncil sam. To
<br>
fungovalo.
<br>
- myslim, ze definovat QueueManager ve Worker.__init__() je spatne
<br>
jak koncepcne, tak technicky </blockquote>
</blockquote>
Muzu pozadat o male vysvetleni. Proc myslis, ze koncepce je spatna?
Bylo by lepsi predavat frontu jako parametr?<br>
<blockquote cite="mid:4C4E88B1.7010009@gmail.com" type="cite">
<blockquote type="cite">(nejsem si jisty, jestli to
<br>
multiprocessing zvladne, spustit manager teoreticky na jinem stroji).
<br>
Navic se zda, ze mu taky chybi start().
<br>
</blockquote>
</blockquote>
Start tady neni treba protoze se jedna jen o objekt fronty a ne proces.<br>
<blockquote cite="mid:4C4E88B1.7010009@gmail.com" type="cite"><br>
Ano start() chybi, mas pravdu, viz vyse.
<br>
<br>
<blockquote type="cite"> - mrkni se na PEP08 ;-)
<br>
</blockquote>
Porad si ten code style nemuzu zazit :)
<br>
<blockquote type="cite"><br>
Jak jsem psal, rano neni moje nejlepsi doba, tak me ber s rezervou
;-)
<br>
<br>
Jirka
<br>
_______________________________________________
<br>
Python mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Python@py.cz">Python@py.cz</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a>
<br>
</blockquote>
<br>
</blockquote>
Diky za podnetne nazory.<br>
<pre class="moz-signature" cols="72">--
Tomas Pelka</pre>
</body>
</html>