镜像自地址
https://github.com/binary-husky/gpt_academic.git
已同步 2025-12-06 06:26:47 +00:00
* logging sys to loguru: stage 1 complete * import loguru: stage 2 * logging -> loguru: stage 3 * support o1-preview and o1-mini * logging -> loguru stage 4 * update social helper * logging -> loguru: final stage * fix: console output * update translation matrix * fix: loguru argument error with proxy enabled (#1977) * relax llama index version * remove comment * Added some modules to support openrouter (#1975) * Added some modules for supporting openrouter model Added some modules for supporting openrouter model * Update config.py * Update .gitignore * Update bridge_openrouter.py * Not changed actually * Refactor logging in bridge_openrouter.py --------- Co-authored-by: binary-husky <qingxu.fu@outlook.com> * remove logging extra --------- Co-authored-by: Steven Moder <java20131114@gmail.com> Co-authored-by: Ren Lifei <2602264455@qq.com>
30 行
821 B
Python
30 行
821 B
Python
import threading, time
|
|
from loguru import logger
|
|
|
|
class WatchDog():
|
|
def __init__(self, timeout, bark_fn, interval=3, msg="") -> None:
|
|
self.last_feed = None
|
|
self.timeout = timeout
|
|
self.bark_fn = bark_fn
|
|
self.interval = interval
|
|
self.msg = msg
|
|
self.kill_dog = False
|
|
|
|
def watch(self):
|
|
while True:
|
|
if self.kill_dog: break
|
|
if time.time() - self.last_feed > self.timeout:
|
|
if len(self.msg) > 0: logger.info(self.msg)
|
|
self.bark_fn()
|
|
break
|
|
time.sleep(self.interval)
|
|
|
|
def begin_watch(self):
|
|
self.last_feed = time.time()
|
|
th = threading.Thread(target=self.watch)
|
|
th.daemon = True
|
|
th.start()
|
|
|
|
def feed(self):
|
|
self.last_feed = time.time()
|