mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Added reloader to ext
This commit is contained in:
parent
095bf03227
commit
e0ffe0b4f5
27
telebot/ext/reloader.py
Normal file
27
telebot/ext/reloader.py
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
from watchdog.events import FileSystemEventHandler
|
||||
from watchdog.events import FileSystemEvent
|
||||
import psutil
|
||||
import os
|
||||
import sys
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger('TeleBot')
|
||||
|
||||
|
||||
|
||||
class EventHandler(FileSystemEventHandler):
|
||||
def on_any_event(self, event: FileSystemEvent):
|
||||
logger.info('* Detected changes in: %s , reloading', (event.src_path))
|
||||
restart_file()
|
||||
|
||||
def restart_file():
|
||||
try:
|
||||
p = psutil.Process(os.getpid())
|
||||
for handler in p.open_files() + p.connections():
|
||||
os.close(handler.fd)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
|
||||
python = sys.executable
|
||||
os.execl(python, python, *sys.argv)
|
Loading…
Reference in New Issue
Block a user