[+] New API cleanup system

This commit is contained in:
Charles Le Maux 2024-09-18 11:04:35 +02:00
parent 21fb9f1286
commit 362a079c69

13
app.py
View File

@ -1,5 +1,4 @@
import argparse
import atexit
import http
import inspect
import os
@ -9,6 +8,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
from firebase_admin.auth import UserNotFoundError, UserRecord
from flask import (Blueprint, Flask, Response, jsonify, request)
from flask_cors import CORS
from werkzeug import run_simple
from werkzeug.datastructures import ImmutableMultiDict, FileStorage
from werkzeug.utils import secure_filename
@ -17,7 +17,7 @@ import firebase_manager
import generic_executor
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 16 * 1000 * 1000 * 1000 #15.28MB~
app.config['MAX_CONTENT_LENGTH'] = 16 * 1000 * 1000 * 1000 #15.28MB~
cors = CORS(app, origins="*")
apiBP = Blueprint('apiBP', 'BPapi')
@ -179,22 +179,21 @@ def upload():
return generic_response_maker(http.HTTPStatus.OK, "Successfully uploaded files !")
def exit_safety() -> None:
def api_cleanup() -> None:
firebase_manager.set_servers_not_running()
return
app.register_blueprint(apiBP)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Background Scheduler")
parser.add_argument('--interval', type=int, default=10, help="Interval in minutes")
args = parser.parse_args()
atexit.register(exit_safety)
scheduler = BackgroundScheduler()
scheduler.add_job(generic_executor.scheduled_actions, 'interval', minutes=args.interval)
scheduler.start()
app.run(host='0.0.0.0', port=3000, debug=False)
run_simple('0.0.0.0', 3000, app, use_debugger=False, use_reloader=False)
api_cleanup()