【问题标题】:Can't exit Asynchronous Web.py Web Server无法退出异步 Web.py Web 服务器
【发布时间】:2013-10-16 01:40:08
【问题描述】:

离开这个example,谁能告诉我为什么我不能用Ctrl+C杀死这个程序:

#!/usr/bin/env python
import web
import threading
class MyWebserver(threading.Thread):
   def run (self):
      urls = ('/', 'MyWebserver')
      app = web.application(urls, globals())
      app.run()

   def POST (self):
      pass

if __name__ == '__main__':
   MyWebserver().start()

【问题讨论】:

  • 顺便说一句,我确实尝试过使用 Python 的 Tornado Web 服务器,但它几乎没有文档。

标签: python multithreading httpserver


【解决方案1】:

像这样启动线程:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web
import threading

from time import sleep

class MyWebserver(threading.Thread):
    def run(self):
        urls = ('/', 'MyWebserver')
        app = web.application(urls, globals())
        app.run()

if __name__ == '__main__':
    t = MyWebserver()
    t.daemon = True
    t.start()
    while True:
        sleep(100)

【讨论】:

  • 是的,这行得通。谢谢你。如果有人想借用它,你能否把它转换成一个最小的工作示例。
  • 什么意思?将该代码应用到一个简单的 web.py 应用程序的工作示例中?
  • 对不起,最小的工作示例是一个 sn-p 代码,如果您将其复制粘贴到文件 foo.py 中,它将成功运行
  • 例如,您缺少#!/usr/bin/env python、导入语句import webfrom time import sleep
猜你喜欢
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 2013-08-24
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
相关资源
最近更新 更多