我的代码很简单。使用BaseHTTPServer和ThreadInMix,我想为同时发出的每个请求运行一个python脚本(Script1.py)。
我的代码-
from subprocess import PIPE, Popen
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
import time
def simple_script(self):
print 'simple_script'
s = Popen('C:/Python27/python C:/Script1.py 5', shell=True,
stdout=PIPE, stderr=PIPE)
out, err = s.communicate()
print out, err
self.wfile.write(out)
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
self.wfile.write('{0}\n'.format(time.asctime()))
simple_script(self)
return
class ThreadedHTTPServer(ThreadingMixIn, HTTPServer):
pass
if __name__ == '__main__':
server = ThreadedHTTPServer(('', 8080), Handler)
print 'Starting server, use <Ctrl-C> to stop'
server.serve_forever()
"""
# C:/Script1.py
import time, sys
s = time.time()
while True:
if time.time() - s > int(sys.argv[1]):
break
else:
time.sleep(1)
print time.asctime()
"""
我刚刚发现-使用URL:http://localhost:8080如果我为IE打开多个标签/浏览器,这很好用,但是,
如果我在Chrome或Firefox中打开多个选项卡/页面,页面会等待上一页吗?这并不意味着Chrome或Firefox中的线程?有什么帮助吗?谢谢
发布于 2011-10-03 22:27:28
对我来说效果很好:
正在启动服务器,用于停止
localhost.localdomain -- 03/Oct/2011 16:25:55 "GET /HTTP1.1“200 -
simple_script
localhost.localdomain -- 03/Oct/2011 16:25:55 "GET /HTTP1.1“200 -
simple_script
Mon 3 16:25:56 2011
Mon Oct 3 16:25:57 2011
Mon Oct 3 16:25:58 2011
Mon Oct 3 16:25:59 2011
Mon Oct 3 16:26:00 2011
Mon Oct 3 16:26:01 2011
Mon 3 16:25:56 2011
Mon Oct 3 16:25:57 2011
Mon Oct 3 16:25:58 2011
Mon Oct 3 16:25:59 2011
Mon Oct 3 16:26:00 2011
Mon Oct 3 16:26:01 2011
https://stackoverflow.com/questions/7629502
复制相似问题