tornado PeriodicCallback 實現文件更新監聽功能

import os

from tornado.ioloop import PeriodicCallback
watch = {}
# 通過讀取文件的更新時間
def check_file(modify_times, path) -> None:
    print('監聽更新')
    try:
        modified = os.stat(path).st_mtime
    except Exception:
        return
    if path not in modify_times:
        modify_times[path] = modified
        return
    if modify_times[path] != modified:
        print("%s 被更新!"% path)
        modify_times[path] = modified
from tornado import ioloop
# 週期任務,每隔2秒執行一次,向上隨機波動2000*0.1=0.2毫秒
PeriodicCallback(lambda :check_file(watch,'test.txt'), callback_time=2000, jitter=0.1).start()
ioloop.IOLoop.instance().start()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章