Use argparse to expose refresher thread controls.
This commit is contained in:
parent
9fe7057021
commit
201ae70ba0
1 changed files with 41 additions and 17 deletions
|
@ -4,16 +4,13 @@ logging.getLogger('googleapicliet.discovery_cache').setLevel(logging.ERROR)
|
|||
import gevent.monkey
|
||||
gevent.monkey.patch_all()
|
||||
|
||||
import argparse
|
||||
import gevent.pywsgi
|
||||
import sys
|
||||
|
||||
import ycdl_flask
|
||||
|
||||
if len(sys.argv) == 2:
|
||||
port = int(sys.argv[1])
|
||||
else:
|
||||
port = 5000
|
||||
|
||||
def ycdl_flask_launch(port, refresh_rate):
|
||||
if port == 443:
|
||||
http = gevent.pywsgi.WSGIServer(
|
||||
listener=('', port),
|
||||
|
@ -27,6 +24,33 @@ else:
|
|||
application=ycdl_flask.site,
|
||||
)
|
||||
|
||||
if refresh_rate is not None:
|
||||
ycdl_flask.ycdl_flask.start_refresher_thread(refresh_rate)
|
||||
|
||||
print('Starting server on port %d' % port)
|
||||
print(f'Starting server on port {port}')
|
||||
http.serve_forever()
|
||||
|
||||
def ycdl_flask_launch_argparse(args):
|
||||
if args.do_refresh:
|
||||
refresh_rate = args.refresh_rate
|
||||
else:
|
||||
refresh_rate = None
|
||||
|
||||
return ycdl_flask_launch(
|
||||
port=args.port,
|
||||
refresh_rate=refresh_rate,
|
||||
)
|
||||
|
||||
def main(argv):
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
|
||||
parser.add_argument('port', nargs='?', type=int, default=5000)
|
||||
parser.add_argument('--no_refresh', dest='do_refresh', action='store_false', default=True)
|
||||
parser.add_argument('--refresh_rate', dest='refresh_rate', type=int, default=60 * 60 * 6)
|
||||
parser.set_defaults(func=ycdl_flask_launch_argparse)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
return args.func(args)
|
||||
|
||||
if __name__ == '__main__':
|
||||
raise SystemExit(main(sys.argv[1:]))
|
||||
|
|
Loading…
Reference in a new issue