[python] mod_python - problém s vícenásobným spuštěním jednoho skriptu

slush slush na slush.cz
Čtvrtek Leden 8 19:49:51 CET 2009


Ahoj,

mohl bys někam vystavit konfiguraci Apache a mod_python? Jako
nejpravděpodobnější příčinu vidím v nastavení nedostatečného počtu threadů
Apache apod. Tj. požadavky se řadí do fronty a Apache je zpracovává jedním
worker threadem sériově za sebou. Nejsem žádný konfigurační guru, ale náhled
do konfigurace by hodně pomohl...

Marek

Dne 8. leden 2009 17:33 Koumes21 <koumes21 na gmail.com> napsal(a):

> Nazdar,
>
> používám Apache server 2.2.11, mod_python 3.3.1 a Python 2.5.4, což by
> měly být nejnovější verze. Všechno už mám nastavené, ke zveřejňování
> stránek používám mod_python.publisher. Nefunguje mi jen jedna věc - když
> mám nějakou stránku, které trvá delší dobu, než se načte (odešle), a
> chci ji zobrazit dvakrát, nejdříve se musí dokončit odesílání prvního
> dotazu a teprve potom se začne vyhodnocovat druhý. To je problém když
> chci udělat stránku, ze které si uživatelé budou moct stahovat soubory,
> a ty budou odesílány přes skript v Pythonu - pak by mohli stahovat v
> jednom okamžiku jen jeden soubor. Zarážející je, že to není tak docela
> problém nedostatku zdrojů - pokud otevřu druhou stránku v jiném
> prohlížeči, budou se obě stahovat současně. Navíc jsem to zkoušel jak na
> Windows (Vista) tak na Linuxovém serveru (Ubuntu 8.10). Velice úporně
> jsem se snažil něco o tomto problému najít na internetu, to co se
> nejvíce podobalo je tento dotaz:
> http://www.modpython.org/pipermail/mod_python/2008-September/025634.html
>
> Rozdíl s mojí situací je v tom, že já používám mod_python.publisher a ne
> svůj vlastní handler (což ovšem stejně nic nezmění), potom že nepoužívám
> Sessions, že místo prefork používám threaded MPM, a nakonec že řešení
> které bylo nabídnuto tázajícímu se v mém případě nefunguje.
>
> Doufám, že se najde někdo, kdo něco takového již řešil. Ještě přidám
> kód, který je potřeba k simulaci problému:
>
> def index(req):
>    import time
>    req.content_type="text/plain"
>    req.write("working...")
>    time.sleep(10)
>    req.write("\ndone")
>
> Předem děkuji za každou odpověď, která mi pomůže hnout se z místa.
>
> Koumes21
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20090108/e92bf173/attachment.htm>


Další informace o konferenci Python