[FE] adds a rate limiter on random image pulling

This commit is contained in:
HappyZ 2023-05-26 23:39:31 -07:00
parent c9b0dcdc50
commit 0b241902a7
3 changed files with 15 additions and 6 deletions

View File

@ -4,6 +4,8 @@ from flask import jsonify
from flask import Flask
from flask import render_template
from flask import request
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
from utilities.constants import LOGGER_NAME_FRONTEND
@ -26,6 +28,10 @@ from utilities.database import Database
logger = Logger(name=LOGGER_NAME_FRONTEND)
database = Database(logger)
app = Flask(__name__)
limiter = Limiter(
get_remote_address,
app=app,
)
@app.route("/add_job", methods=["POST"])
@ -115,18 +121,22 @@ def get_jobs():
user = database.validate_user(req[APIKEY])
if not user:
return "", 401
# define max number of jobs to fetch from db
job_count_limit = 20
if UUID in req:
jobs = database.get_jobs(job_uuid=req[UUID], apikey=req[APIKEY], limit_count=job_count_limit)
jobs = database.get_jobs(
job_uuid=req[UUID], apikey=req[APIKEY], limit_count=job_count_limit
)
else:
jobs = database.get_jobs(apikey=req[APIKEY], limit_count=job_count_limit)
return jsonify({"jobs": jobs})
@app.route("/random_jobs", methods=["GET"])
@limiter.limit("1/second")
def random_jobs():
# define max number of jobs to fetch from db
job_count_limit = 20

View File

@ -8,3 +8,4 @@ scikit-image==0.20.0
torch==2.0.0
transformers==4.28.1
sentencepiece==0.1.99
Flask-Limiter==3.3.1

View File

@ -517,7 +517,7 @@
function parsePromptString(prompt, is_negative) {
// Split the prompt input by ","
var promptArray = prompt.replace(/[^\w\s,\p{Script=Han}]/gu, '').split(/[,]/);
var promptArray = prompt.replace(/[^\w\s,\p{Script=Han}]|\d/gu, '').split(/[,]/);
var result = "";
for (var i = 0; i < promptArray.length; i++) {
@ -729,9 +729,7 @@
},
error: function (xhr, status, error) {
// Handle error response
console.log(xhr.responseText);
$('#othersJobList').html("found nothing");
$('#othersJobList').html(error);
}
});
});