Testing, fixes

This commit is contained in:
Piero Toffanin 2023-03-09 23:07:12 -05:00
parent ab27dcbaf3
commit 6a231d974b
6 changed files with 96 additions and 49 deletions

View file

@ -1,7 +1,7 @@
import atexit
import random
import string
from multiprocessing import Value
from multiprocessing.dummy import Value
from libretranslate.storage import get_storage
from apscheduler.schedulers.background import BackgroundScheduler
@ -16,6 +16,9 @@ def rotate_secrets():
secret_1 = s.get_str("secret_1")
s.set_str("secret_0", secret_1)
s.set_str("secret_1", generate_secret())
print(s.get_str("secret_0"))
print(s.get_str("secret_1"))
def secret_match(secret):
s = get_storage()
@ -24,19 +27,8 @@ def secret_match(secret):
def get_current_secret():
return get_storage().get_str("secret_1")
def setup():
# Only setup the scheduler and secrets on one process
if not setup_secrets.value:
setup_secrets.value = True
def setup(args):
if args.api_keys and args.require_api_key_secret:
s = get_storage()
s.set_str("secret_0", generate_secret())
s.set_str("secret_1", generate_secret())
scheduler = BackgroundScheduler()
scheduler.add_job(func=rotate_secrets, trigger="interval", minutes=30)
scheduler.start()
# Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())