mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-07-22 06:37:11 +08:00
fix: wrap old handler
This commit is contained in:
14
app.py
14
app.py
@@ -8,18 +8,22 @@ from plugins import *
|
|||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
def sigterm_handler(_signo, _stack_frame):
|
def sigterm_handler_wrap(_signo):
|
||||||
conf().save_user_datas()
|
old_handler = signal.getsignal(_signo)
|
||||||
sys.exit(0)
|
def func(_signo, _stack_frame):
|
||||||
|
logger.info("signal {} received, exiting...".format(_signo))
|
||||||
|
conf().save_user_datas()
|
||||||
|
return old_handler(_signo, _stack_frame)
|
||||||
|
signal.signal(_signo, func)
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
try:
|
try:
|
||||||
# load config
|
# load config
|
||||||
load_config()
|
load_config()
|
||||||
# ctrl + c
|
# ctrl + c
|
||||||
signal.signal(signal.SIGINT, sigterm_handler)
|
sigterm_handler_wrap(signal.SIGINT)
|
||||||
# kill signal
|
# kill signal
|
||||||
signal.signal(signal.SIGTERM, sigterm_handler)
|
sigterm_handler_wrap(signal.SIGTERM)
|
||||||
|
|
||||||
# create channel
|
# create channel
|
||||||
channel_name=conf().get('channel_type', 'wx')
|
channel_name=conf().get('channel_type', 'wx')
|
||||||
|
|||||||
Reference in New Issue
Block a user