Fix SIGINT termination issues
This commit is contained in:
parent
18c720fdab
commit
8700023349
3 changed files with 13 additions and 6 deletions
|
@ -1,11 +1,11 @@
|
|||
|
||||
from typing import Any, Dict, Iterable, Union
|
||||
|
||||
from bottle import route, static_file, run
|
||||
import sys
|
||||
import os.path
|
||||
import bottle
|
||||
|
||||
from matemat.db import MatematDatabase
|
||||
from matemat.webserver import cron
|
||||
from matemat.webserver.logger import Logger
|
||||
from matemat.webserver.config import get_config, parse_config_file
|
||||
from matemat.webserver.template import init as template_init
|
||||
|
@ -59,11 +59,11 @@ def _init(config: Dict[str, Any]):
|
|||
template_init(config)
|
||||
|
||||
|
||||
@route('/static/<filename:path>')
|
||||
@bottle.route('/static/<filename:path>')
|
||||
def serve_static_files(filename: str):
|
||||
config = get_config()
|
||||
staticroot = os.path.abspath(config['staticroot'])
|
||||
return static_file(filename, root=staticroot)
|
||||
return bottle.static_file(filename, root=staticroot)
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -80,8 +80,12 @@ def main():
|
|||
host: str = config['listen']
|
||||
port: int = int(str(config['port']))
|
||||
|
||||
# noinspection PyUnresolvedReferences
|
||||
from matemat.webserver.pagelets.receipt_smtp_cron import receipt_smtp_cron
|
||||
# Start the web server
|
||||
run(host=host, port=port, debug=True)
|
||||
bottle.run(host=host, port=port)
|
||||
# Stop cron
|
||||
cron.shutdown()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -8,6 +8,10 @@ from matemat.webserver import Logger
|
|||
_CRON_STATIC_EVENT: Event = Event()
|
||||
|
||||
|
||||
def shutdown(*_args, **_kwargs):
|
||||
_CRON_STATIC_EVENT.set()
|
||||
|
||||
|
||||
class _GlobalEventTimer(Thread):
|
||||
"""
|
||||
A timer similar to threading.Timer, except that waits on an externally supplied threading.Event instance,
|
||||
|
|
|
@ -15,4 +15,3 @@ from .moduser import moduser
|
|||
from .modproduct import modproduct
|
||||
from .userbootstrap import userbootstrap
|
||||
from .statistics import statistics
|
||||
from .receipt_smtp_cron import receipt_smtp_cron
|
||||
|
|
Loading…
Reference in a new issue