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


[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


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


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