celery,logger,limiter,cache,logo

This commit is contained in:
resonate
2022-01-24 11:58:28 +08:00
parent a3c61d3291
commit 2e6067fd31
15 changed files with 127 additions and 27 deletions
+3
View File
@@ -0,0 +1,3 @@
from cachelib import RedisCache
cache = RedisCache()
+18
View File
@@ -0,0 +1,18 @@
from celery import Celery
from entrance.config import celery as config
from entrance.config.celery import broker_url
celery = Celery(__name__, broker=broker_url)
def register_celery(app):
celery.config_from_object(config)
class ContextTask(celery.Task):
def __call__(self, *args, **kwargs):
with app.app_context():
return self.run(*args, **kwargs)
celery.Task = ContextTask
+7
View File
@@ -0,0 +1,7 @@
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
limiter = Limiter(
key_func=get_remote_address,
default_limits=["200 per day", "50 per hour"]
)
+55
View File
@@ -0,0 +1,55 @@
from logging.config import dictConfig
def config_logger():
dictConfig(
{
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"simple": {"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "DEBUG",
"formatter": "simple",
"stream": "ext://sys.stdout",
},
"info_file_handler": {
"class": "logging.handlers.RotatingFileHandler",
"level": "INFO",
"formatter": "simple",
"filename": "logs/info.log",
"maxBytes": 10485760,
"backupCount": 50,
"encoding": "utf8",
},
"error_file_handler": {
"class": "logging.handlers.RotatingFileHandler",
"level": "ERROR",
"formatter": "simple",
"filename": "logs/errors.log",
"maxBytes": 10485760,
"backupCount": 20,
"encoding": "utf8",
},
"debug_file_handler": {
"class": "logging.handlers.RotatingFileHandler",
"level": "DEBUG",
"formatter": "simple",
"filename": "logs/debug.log",
"maxBytes": 10485760,
"backupCount": 50,
"encoding": "utf8",
},
},
"loggers": {
"my_module": {"level": "ERROR", "handlers": ["console"], "propagate": "no"}
},
"root": {
"level": "DEBUG",
"handlers": ["error_file_handler", "debug_file_handler"],
},
}
)
+3
View File
@@ -0,0 +1,3 @@
from flask_mail import Mail
mail = Mail()
+7
View File
@@ -0,0 +1,7 @@
from flask_migrate import Migrate
from common.extend.orm import db
# from entrance.models import model_lists
migrate = Migrate(db=db, directory='entrance/migrations')
+32
View File
@@ -0,0 +1,32 @@
import datetime
from typing import Tuple
from flask import request
from flask_sqlalchemy import SQLAlchemy, BaseQuery
class Query(BaseQuery):
def all_json(self) -> list:
return [dict(i) for i in self.all()]
def soft_delete(self):
return self.update({"delete_at": datetime.datetime.now()})
def logic_all(self):
return self.filter_by(delete_at=None).all()
def layui_paginate(self):
return self.paginate(page=request.args.get('page', type=int),
per_page=request.args.get('limit', type=int),
error_out=False)
def layui_paginate_json(self) -> Tuple[list, int]:
p = self.paginate(page=request.args.get('page', type=int),
per_page=request.args.get('limit', type=int),
error_out=False)
return [dict(i) for i in p.items], p.total
db = SQLAlchemy(query_class=Query)
+1 -1
View File
@@ -1,7 +1,7 @@
from flask_mail import Message
# send_mail(subject='title', recipients=['123@qq.com'], content='body')
from entrance.extend.mail import mail
from common.extend.mail import mail
def send_mail(subject, recipients, content):