Re: [python] multiprocess a subprocess

2010-04-17 Tema obsahu Tomas Pelka
Petr Messner wrote:
> Předpokládám, že místo foo() je myšleno spouštění webového serveru přes Popen 
> z bar(). Mě tento kód funguje, příkaz se spustí. Asi bude chyba někde jinde. 
> Často pomůže podívat se přes strace, co to vlastně dělá (myslím příkaz strace 
> v Linuxu nebo něco podobného v jiných OS). Raději sem ale pošlete větší kus 
> zdrojového kódu, nebo vysvětlete, o co se snažíte, webový server se v Pythonu 
> dá spustit i jednoduššími způsoby.
> 

No spoustim web2py, s tim ze je to zbytecne slozite souhlasim.

> Jinak by bylo pěkné k ukázce kódu doplnit i příslušné importy, aby se kód dal 
> co nejsnáze spustit a vyzkoušet.

import os, pwd, sys
from multiprocessing import Process, Manager, Queue
from subprocess import Popen, PIPE

Napadlo me jestli nebude problem s p.communicate() ale v tom problem nebyl.

> 
> PM
> 
> On 16.4.2010, at 23:56, Tomas Pelka wrote:
> 
>> Zdravim,
>>
>> mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni
>> jiste otazkou chvilky. Pokousim se o nasledujici:
>>
>>
>> def foo(q):
>>print os.getuid()
>>while True:
>>pass
>>
>> def bar():
>>os.setuid(NEJAKE_EXISTUJICI_UID)
>>if not CESTA_K_HOME in sys.path:
>>sys.path.append(CESTA_K_HOME)
>>os.chdir(CESTA_K_HOME)
>>cmd = "prikaz spouztejici web server"
>>p = Popen(cmd, shell=True, stdout=PIPE)
>>p.communicate()
>>
>>
>> if __name__ == "__main__":
>># fronta neni prozatim dulezita
>>workQueue = Queue()
>>
>>bar_proc = Process(target=bar, args=())
>>foo_proc = Process(target=foo, args=(workQueue,))
>>
>>foo_proc.start()
>>bar_proc.start()
>>
>>foo_proc.join()
>>bar_proc.join()
>>
>>
>> Problem je ten ze webovy server z foo() nebezi i kdyz python rika
>> (foo_proc.is_alive()), ze proces bezi.
>>
>> Kde delam neustale chybu?
>>
>> Diky za odpovedi.
>>
>> -- 
>> Tom
>>
>> ___
>> Python mailing list
>> Python@py.cz
>> http://www.py.cz/mailman/listinfo/python
> 
> ___
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python


-- 
Tom
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] multiprocess a subprocess

2010-04-16 Tema obsahu Petr Messner
Předpokládám, že místo foo() je myšleno spouštění webového serveru přes Popen z 
bar(). Mě tento kód funguje, příkaz se spustí. Asi bude chyba někde jinde. 
Často pomůže podívat se přes strace, co to vlastně dělá (myslím příkaz strace v 
Linuxu nebo něco podobného v jiných OS). Raději sem ale pošlete větší kus 
zdrojového kódu, nebo vysvětlete, o co se snažíte, webový server se v Pythonu 
dá spustit i jednoduššími způsoby.

Jinak by bylo pěkné k ukázce kódu doplnit i příslušné importy, aby se kód dal 
co nejsnáze spustit a vyzkoušet.

PM

On 16.4.2010, at 23:56, Tomas Pelka wrote:

> Zdravim,
> 
> mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni
> jiste otazkou chvilky. Pokousim se o nasledujici:
> 
> 
> def foo(q):
>print os.getuid()
>while True:
>pass
> 
> def bar():
>os.setuid(NEJAKE_EXISTUJICI_UID)
>if not CESTA_K_HOME in sys.path:
>sys.path.append(CESTA_K_HOME)
>os.chdir(CESTA_K_HOME)
>cmd = "prikaz spouztejici web server"
>p = Popen(cmd, shell=True, stdout=PIPE)
>p.communicate()
> 
> 
> if __name__ == "__main__":
># fronta neni prozatim dulezita
>workQueue = Queue()
> 
>bar_proc = Process(target=bar, args=())
>foo_proc = Process(target=foo, args=(workQueue,))
> 
>foo_proc.start()
>bar_proc.start()
> 
>foo_proc.join()
>bar_proc.join()
> 
> 
> Problem je ten ze webovy server z foo() nebezi i kdyz python rika
> (foo_proc.is_alive()), ze proces bezi.
> 
> Kde delam neustale chybu?
> 
> Diky za odpovedi.
> 
> -- 
> Tom
> 
> ___
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] multiprocess a subprocess

2010-04-16 Tema obsahu Tomas Pelka
Moje chyba melo byt bar(), foo() je jak rikate zatizi proc na 100% (tedy
funguje).

Oprava:
Problem je ten ze webovy server z bar() nebezi ...

azurIt wrote:
> Co presne by mala robit funkcia foo() ? :) podla mna ti na 100% vyhuli 
> procesor a to je cele ;)
> 
> 
> 
>> -Pôvodná správa-
>> Od: Tomas Pelka [mailto:tompe...@gmail.com]
>> Komu: python@py.cz
>> Predmet: [python] multiprocess a subprocess
>>
>>
>> Zdravim,
>>
>> mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni
>> jiste otazkou chvilky. Pokousim se o nasledujici:
>>
>>
>> def foo(q):
>> print os.getuid()
>> while True:
>> pass
>>
>> def bar():
>> os.setuid(NEJAKE_EXISTUJICI_UID)
>> if not CESTA_K_HOME in sys.path:
>> sys.path.append(CESTA_K_HOME)
>> os.chdir(CESTA_K_HOME)
>> cmd = "prikaz spouztejici web server"
>> p = Popen(cmd, shell=True, stdout=PIPE)
>> p.communicate()
>>
>>
>> if __name__ == "__main__":
>> # fronta neni prozatim dulezita
>> workQueue = Queue()
>>
>> bar_proc = Process(target=bar, args=())
>> foo_proc = Process(target=foo, args=(workQueue,))
>>
>> foo_proc.start()
>> bar_proc.start()
>>
>> foo_proc.join()
>> bar_proc.join()
>>
>>
>> Problem je ten ze webovy server z foo() nebezi i kdyz python rika
>> (foo_proc.is_alive()), ze proces bezi.
>>
>> Kde delam neustale chybu?
>>
>> Diky za odpovedi.
>>
>> --
>> Tom
>>
>> ___
>> Python mailing list
>> Python@py.cz
>> http://www.py.cz/mailman/listinfo/python
> ___
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python


-- 
Tom

Key fingerprint = 06C0 23C6 9EB7 0761 9807  65F4 7F6F 7EAB 496B 28AA
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] multiprocess a subprocess

2010-04-16 Tema obsahu azurIt
Co presne by mala robit funkcia foo() ? :) podla mna ti na 100% vyhuli procesor 
a to je cele ;)



>-Pôvodná správa-
>Od: Tomas Pelka [mailto:tompe...@gmail.com]
>Komu: python@py.cz
>Predmet: [python] multiprocess a subprocess
>
>
>Zdravim,
>
>mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni
>jiste otazkou chvilky. Pokousim se o nasledujici:
>
>
>def foo(q):
>print os.getuid()
>while True:
>pass
>
>def bar():
>os.setuid(NEJAKE_EXISTUJICI_UID)
>if not CESTA_K_HOME in sys.path:
>sys.path.append(CESTA_K_HOME)
>os.chdir(CESTA_K_HOME)
>cmd = "prikaz spouztejici web server"
>p = Popen(cmd, shell=True, stdout=PIPE)
>p.communicate()
>
>
>if __name__ == "__main__":
># fronta neni prozatim dulezita
>workQueue = Queue()
>
>bar_proc = Process(target=bar, args=())
>foo_proc = Process(target=foo, args=(workQueue,))
>
>foo_proc.start()
>bar_proc.start()
>
>foo_proc.join()
>bar_proc.join()
>
>
>Problem je ten ze webovy server z foo() nebezi i kdyz python rika
>(foo_proc.is_alive()), ze proces bezi.
>
>Kde delam neustale chybu?
>
>Diky za odpovedi.
>
>--
>Tom
>
>___
>Python mailing list
>Python@py.cz
>http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] multiprocess a subprocess

2010-04-16 Tema obsahu Tomas Pelka
Zdravim,

mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni
jiste otazkou chvilky. Pokousim se o nasledujici:


def foo(q):
print os.getuid()
while True:
pass

def bar():
os.setuid(NEJAKE_EXISTUJICI_UID)
if not CESTA_K_HOME in sys.path:
sys.path.append(CESTA_K_HOME)
os.chdir(CESTA_K_HOME)
cmd = "prikaz spouztejici web server"
p = Popen(cmd, shell=True, stdout=PIPE)
p.communicate()


if __name__ == "__main__":
# fronta neni prozatim dulezita
workQueue = Queue()

bar_proc = Process(target=bar, args=())
foo_proc = Process(target=foo, args=(workQueue,))

foo_proc.start()
bar_proc.start()

foo_proc.join()
bar_proc.join()


Problem je ten ze webovy server z foo() nebezi i kdyz python rika
(foo_proc.is_alive()), ze proces bezi.

Kde delam neustale chybu?

Diky za odpovedi.

-- 
Tom

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python