[PHP] PHP running Python script - not waiting for Python script to finish

2009-06-08 Thread Adrian Price-Whelan

Hey -

Running these on a Linux server with PHP 5 and Python 2.5.

My problem is this: I have a simple php form that executes a long (~3  
minutes) Python script using the 'exec' function from php. The issue  
is that the browser, I think, 'times out' before the Python script is  
finished and therefore kills Python and displays no output from  
Python. After some intense googling, I haven't found an answer, but I  
found a potential solution that I really want to avoid (manually  
opening a process that runs in the background, and checking its status  
until it is complete, then refreshing the web page). I'd much rather  
find an easier way to do this, and thus I am asking for help either  
way. If my only option is to open a job and monitor its status, could  
someone help guide me through coding this? I've tried naïvely doing  
exec("/path/to/executable arg1 arg2 >> /path/to/logfile 2>&1 &") but  
it seems as though even this dies when the browser times out. Thanks!


-Adrian

[PHP] Strange PHP/Python problem

2009-06-08 Thread Adrian Price-Whelan

Hey all-

Something strange is happening with a python script I am executing  
from a php page:
I am executing this by doing $output = `python blahblah.py arg1 arg2  
arg3`


Say my Python code looks like this:
import sys
import os

thisPID = os.getpid()
print thisPID

print "1"

RADeg = float(sys.argv[1])
decDeg = float(sys.argv[2])
clipSizeDeg = float(sys.argv[3])

print "2"

ic.myFunction(RAdeg, decDeg, clipSizeDeg)

print "3"

os.system(SOME LONG COMMAND)

print "4"

for i in os.listdir(blah):
 print "5"
 os.system("gunzip BLAH")[/code]

print "6"

$output collects these numbers from the print statements, all the way  
through #6, but it doesn't execute the rest of the code - the stuff  
that I actually want it to do...any ideas?


Thanks!