Hook db connection when you're running a long term sleep crawler assignment.
Project description
Flask Database Pacemaker
python_requires>=3.6
Flask>=1.0.2
Flask-APScheduler>=1.11.0
Flask-SQLAlchemy>=2.3.2
- Log
# | date | version |
---|---|---|
1 | 2020/12/03 | v1.2.3 |
2 | 2020/12/03 | v1.2.4 |
3 | 2020/12/05 | v1.2.5 |
v1.2.3
- Fixed
AttributeError: 'NoneType' object has no attribute 'items'
issue due to mysql connection has been terminated.
v1.2.4
- Handle
sqlalchemy.exc.ProgrammingError
, the problem cause by some specific ORM models not exist in current database. - Handle database not found issue.
- Raise error if
MODELS_PATH_LIST
has not been set properly.
v1.2.5
- Replace new line of the error raise from sqlalchemy.
- Change datetime format method.
- Make the code efficient.
- How to use
1. Add setting into config.py
DB_PACEMAKER_SWITCH
is requiredMODELS_PATH_LIST
is requiredPOKE_DB_INTERVAL
default: 1 hour.
# for DBPacemaker - 透過定時排程請求DB,保持連線
DB_PACEMAKER_SWITCH = True if os.environ['ENVIRONMENT'] == 'develop' else False
MODELS_PATH_LIST = ['spyder_common.models']
POKE_DB_INTERVAL = 60 * 60
2. Establish in app.py
Note: Append this after you declared
config
andapp
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_dbpacemaker import DBPacemaker # import package
from config import Config
app = Flask(__name__)
config = Config()
app.config.from_object(config)
db = SQLAlchemy(app)
DBPacemaker.run(app, db=db, config=config) # setup here
- If you've set a scheduler
DBPacemaker.run(app, db=db, config=config, secheduler=your_flask_apscheduler)
Note: The job permanent trigger is interval
.
If you like my work, please consider buying me a coffee or PayPal
Thanks for your support! Cheers! 🎉
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for Flask_DBPacemaker-1.2.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5b399c9892fecb4926c52d7250ca81011f04946c01437417583f0ba4457ca3 |
|
MD5 | 21d69d4ca14bf2433b172accbaaf374e |
|
BLAKE2b-256 | cbbf6a541ab7ab13a1e75eebecaf1fb0bf75231d5e3e517ef8d14d9b05eb0564 |