【问题标题】:watchdog stuck the flask web page [duplicate]看门狗卡住了烧瓶网页[重复]
【发布时间】:2017-12-20 08:13:35
【问题描述】:

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

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

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

【问题讨论】:

  • while True: time.sleep(1)
  • 不是重复的。这些问题无关

标签: python flask socket.io watchdog python-watchdog


【解决方案1】:

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'

【讨论】:

  • 这不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多