Cucum(r) Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 (endret) Heisann! Eg jobber med eit system som konverterer ei videofil som blir lasta opp. Fila som lastast opp er enten i MPG, MOV eller AVI. Eg forstår at opplastinga av filmen må gjerast i samme prosess, men eg kunne godt tenke meg å ta konverteringa av filmen i ein annan prosess (gjerast for øyeblikket via os.system("mencoder %variabler")). Eg har prøvd å gjere dette ved hjelp av Threading-modulen, men eg har ikkje fått til å koble prosessen ut av spelet, slik at brukaren kan gå vidare på andre deler av systemet utan å måtte vente på at filmen vert konvertert. Er det nokon her som har erfaringer med dette? Altså, for å seie det enkelt: Brukaren lastar opp fil Fila vert lagra på webserveren Ein ny prosess startar heilt uavhengig av den eksisterande prosessen, som kjører programmet mencoder med dei forskjellige argumenta, og får passert variablen som inneheld plasseringa til den originalt opplasta fila. Dette fører til at brukaren ikkje må vente på at serveren har konvertert fila før han får gjere noko anna. På forhånd - tusen takk for innspel! :-) Endret 14. mars 2007 av Henrik Lied Lenke til kommentar
zeitgeist Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 Kanskje en av spawn-variantene i os-modulen er det du ser etter. Da kan du f.eks sjekke om PID'en for den nye prosessen fortsatt finnes for å avgjøre om prosessen er ferdig. Lenke til kommentar
Cucum(r) Skrevet 14. mars 2007 Forfatter Del Skrevet 14. mars 2007 Kanskje en av spawn-variantene i os-modulen er det du ser etter. Da kan du f.eks sjekke om PID'en for den nye prosessen fortsatt finnes for å avgjøre om prosessen er ferdig. 8156387[/snapback] Har prøvd spawnv, men denne hjalp meg heller lite, desverre. Fekk ingen output i det heile. Lenke til kommentar
zeitgeist Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 Kanskje en av spawn-variantene i os-modulen er det du ser etter. Da kan du f.eks sjekke om PID'en for den nye prosessen fortsatt finnes for å avgjøre om prosessen er ferdig. 8156387[/snapback] Har prøvd spawnv, men denne hjalp meg heller lite, desverre. Fekk ingen output i det heile. 8156448[/snapback] Testet dette kjapt under windows: import os mode = os.P_NOWAIT cmd = 'c:/WINDOWS/notepad.exe' arg = 'spawn_test.txt' pid = os.spawnl(mode, cmd, cmd, arg) print "pid:", pid Og det funker greit. Men jeg ser at os.spawn kan erstattes av den (nesten) nye subprocess modulen. Eksempelet i lib-manualen 6.8.3.5 er pid = Popen(["/bin/mycmd", "myarg"]).pid Lenke til kommentar
zeitgeist Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 Et spørsmål som minner om ditt diskuteres i Denne C.L.P-tråden. Kanskje du finner svar der ;-) Lenke til kommentar
Cucum(r) Skrevet 14. mars 2007 Forfatter Del Skrevet 14. mars 2007 spawn1 er vel windows only, trur eg. Det samme eksempelet med spawnv fungerer ikkje her, dessverre. :-/ Eg kan nok ikkje bruke javascript heller. Eg bruker rammeverket Django, og køyringa av spawn* skjer i save()-metoden. Der kan det ikkje køyrast JavaScript. Her er den noværande koda: http://dpaste.com/hold/6879/ Eg importerer denne inn i save-metoden i modellen min, og køyrer sss(). Om du/nokon andre har moglegheit til å teste ut litt hadde eg blitt veldig glad. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå