1

我正在尝试使用烧瓶和看门狗创建文档监控脚本

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

最初,我尝试在使用以下脚本时在控制台中打印文件更改,当我在浏览器中路由到 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'
4

1 回答 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'
于 2017-12-20T08:18:13.110 回答