如何连接到正在运行的web.py脚本端口/套接字

时间:2017-06-04 16:51:15

标签: python web cgi web.py

我是Web框架和Web开发的新手(我主要是一个Python桌面开发人员),并且已经尝试了web.py,取得了一些成功,但现在我被卡住了。 / p>

我的目标是留下一个应用程序"运行"并不断更新,以便我可以按需检索当前状态。在下面的基本示例中,我想启动一个计数器,并在连接到正在运行的应用程序时查看当前值。

print("Content-type: text/html\n\n")
from threading import Thread
import time
import web

urls = ('/', 'index')



def test():
    while True:
        web.app.count += 1
        print(web.app.count)
        time.sleep(5)


class index:
    def GET(self):
        return web.app.count


if __name__ == '__main__':
    web.app = web.application(urls, globals())
    web.app.count = 0
    t = Thread(target=test)
    t.daemon = True
    t.start()
    web.app.run()

如果我使用localhost运行应用程序,它按预期工作,我连接到localhost:8080并且打印到屏幕的值与打印到控制台的值匹配。如果我将脚本作为cgi脚本上传到我的Web主机,则应用程序不会连续运行,并且每次连接到其URL时都会运行,每次都返回1,这可能是正常的。如how to run background job in web.py?所示,我似乎需要通过SSH运行脚本,例如:

python app.py 1234 > log.txt 2>&1 &

在端口1234上运行(默认值为8080,"正在使用")。这似乎有效,但我不知道去哪里查看我网站上正在运行的应用程序。如何连接到此端口1234? myurl.com:1234不起作用,脚本的url仍然具有与以前相同的行为。我想这个答案并不是特定于web.py的,但是我不明白这些东西是如何工作的 - 我的谷歌搜索没有返回任何有用的东西,可能是因为我没有问正确的问题。

0 个答案:

没有答案