看门狗卡住烧瓶网页[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在尝试使用flask和看门狗创建一个文档监视脚本

我想要做的是,如果目录中的文件发生变化,它应该立即显示在网页中。 (如果网页在浏览器中打开)

最初,我尝试在使用下面的脚本时在控制台中打印文件更改,当我在浏览器中路由到localhost:5000 / monitor时,浏览器加载了很长时间,如果文件被更改,它会在控制台中显示出来。我无法理解为什么浏览器卡住有人可以帮助我理解这一点

@webapp.route('/monitor', methods=['GET', 'POST'])
def monitor():

    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    # path = sys.argv[1] if len(sys.argv) > 1 else '.'
    path = 'I:\\Projects\\files\\.'
    event_handler = LoggingEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
    return 'monitor script running'
python flask socket.io watchdog python-watchdog
1个回答
0
投票

while True删除无限循环,你很好。

@webapp.route('/monitor', methods=['GET', 'POST'])
def monitor():

    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    # path = sys.argv[1] if len(sys.argv) > 1 else '.'
    path = 'I:\\Projects\\files\\.'
    event_handler = LoggingEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    return 'monitor script running'
© www.soinside.com 2019 - 2024. All rights reserved.