如何停止webserver(通过web.py和线程实现)

时间:2011-09-28 05:14:30

标签: web.py

我使用web.py实现了简单的网络服务器。 通过多线程模块,我可以在不同的端口上运行多个webserver监听实例。 现在所有的实例都在永远地监听http请求。我想要一个特定的线程。 有没有办法阻止实例监听(或完全杀死特定的线程。)

1 个答案:

答案 0 :(得分:0)

<强> api.py

import web
import threading

urls = (
    '/', 'index',
)


class index:
    def GET(self):
        return "I'm lumberjack and i'm ok"

def run():
    app = web.application(urls, globals())
    t = threading.Thread(target=app.run)
    t.setDaemon(True) # So the server dies with the main thread
    t.setName('api-thread')
    t.start()

<强> frame.py

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
import api

app = QApplication(sys.argv)
web = QWebView()
api.run() 
web.load(QUrl("http://0.0.0.0:8080/"))
web.show()
sys.exit(app.exec_())