mirror of https://github.com/veops/cmdb.git
upgrade celery
This commit is contained in:
parent
ef09497d67
commit
7e38dd8fab
2
Makefile
2
Makefile
|
@ -25,7 +25,7 @@ api:
|
||||||
cd cmdb-api && pipenv run flask run -h 0.0.0.0
|
cd cmdb-api && pipenv run flask run -h 0.0.0.0
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
cd cmdb-api && pipenv run celery worker -A celery_worker.celery -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery worker -A celery_worker.celery -E -Q acl_async --concurrency=1 -D
|
cd cmdb-api && pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery -A celery_worker.celery worker -E -Q acl_async --concurrency=1 -D
|
||||||
|
|
||||||
ui:
|
ui:
|
||||||
cd cmdb-ui && yarn run serve
|
cd cmdb-ui && yarn run serve
|
||||||
|
|
|
@ -14,7 +14,7 @@ Flask-RESTful = "==0.3.10"
|
||||||
Flask-SQLAlchemy = "==2.5.0"
|
Flask-SQLAlchemy = "==2.5.0"
|
||||||
SQLAlchemy = "==1.4.49"
|
SQLAlchemy = "==1.4.49"
|
||||||
PyMySQL = "==1.1.0"
|
PyMySQL = "==1.1.0"
|
||||||
redis = "==3.2.1"
|
redis = "==4.6.0"
|
||||||
# Migrations
|
# Migrations
|
||||||
Flask-Migrate = "==2.5.2"
|
Flask-Migrate = "==2.5.2"
|
||||||
# Deployment
|
# Deployment
|
||||||
|
@ -32,10 +32,10 @@ Flask-Caching = ">=1.0.0"
|
||||||
environs = "==4.2.0"
|
environs = "==4.2.0"
|
||||||
marshmallow = "==2.20.2"
|
marshmallow = "==2.20.2"
|
||||||
# async tasks
|
# async tasks
|
||||||
celery = "==4.3.0"
|
celery = "==5.3.1"
|
||||||
celery_once = "==3.0.1"
|
celery_once = "==3.0.1"
|
||||||
more-itertools = "==5.0.0"
|
more-itertools = "==5.0.0"
|
||||||
kombu = "==4.4.0"
|
kombu = "==5.3.1"
|
||||||
# common setting
|
# common setting
|
||||||
timeout-decorator = "==0.5.0"
|
timeout-decorator = "==0.5.0"
|
||||||
WTForms = "==3.0.0"
|
WTForms = "==3.0.0"
|
||||||
|
@ -50,7 +50,7 @@ toposort = ">=1.5"
|
||||||
requests = ">=2.22.0"
|
requests = ">=2.22.0"
|
||||||
PyJWT = "==2.4.0"
|
PyJWT = "==2.4.0"
|
||||||
elasticsearch = "==7.17.9"
|
elasticsearch = "==7.17.9"
|
||||||
future = "==0.18.2"
|
future = "==0.18.3"
|
||||||
itsdangerous = "==2.1.2"
|
itsdangerous = "==2.1.2"
|
||||||
Jinja2 = "==3.1.2"
|
Jinja2 = "==3.1.2"
|
||||||
jinja2schema = "==0.1.4"
|
jinja2schema = "==0.1.4"
|
||||||
|
|
|
@ -129,7 +129,7 @@ def register_extensions(app):
|
||||||
rd.init_app(app)
|
rd.init_app(app)
|
||||||
if app.config.get('USE_ES'):
|
if app.config.get('USE_ES'):
|
||||||
es.init_app(app)
|
es.init_app(app)
|
||||||
celery.conf.update(app.config)
|
celery.conf.update(app.config.get('CELERY'))
|
||||||
|
|
||||||
|
|
||||||
def register_blueprints(app):
|
def register_blueprints(app):
|
||||||
|
|
|
@ -7,10 +7,8 @@ from functools import wraps
|
||||||
import jwt
|
import jwt
|
||||||
from flask import abort
|
from flask import abort
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from flask import g
|
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask import session
|
from flask import session
|
||||||
from flask_login import current_user
|
|
||||||
from flask_login import login_user
|
from flask_login import login_user
|
||||||
|
|
||||||
from api.lib.perm.acl.acl import ACLManager
|
from api.lib.perm.acl.acl import ACLManager
|
||||||
|
@ -65,12 +63,10 @@ def _auth_with_key():
|
||||||
|
|
||||||
|
|
||||||
def _auth_with_session():
|
def _auth_with_session():
|
||||||
if isinstance(getattr(g, 'user', None), User):
|
|
||||||
login_user(current_user)
|
|
||||||
return True
|
|
||||||
if "acl" in session and "userName" in (session["acl"] or {}):
|
if "acl" in session and "userName" in (session["acl"] or {}):
|
||||||
login_user(UserCache.get(session["acl"]["userName"]))
|
login_user(UserCache.get(session["acl"]["userName"]))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,9 +154,12 @@ def _auth_with_acl_token():
|
||||||
|
|
||||||
|
|
||||||
def auth_required(func):
|
def auth_required(func):
|
||||||
if request.json is not None:
|
try:
|
||||||
setattr(request, 'values', request.json)
|
if request.json is not None:
|
||||||
else:
|
setattr(request, 'values', request.json)
|
||||||
|
else:
|
||||||
|
setattr(request, 'values', request.values.to_dict())
|
||||||
|
except:
|
||||||
setattr(request, 'values', request.values.to_dict())
|
setattr(request, 'values', request.values.to_dict())
|
||||||
|
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from api.app import create_app
|
from api.app import create_app
|
||||||
from api.extensions import celery
|
from api.extensions import celery
|
||||||
|
|
||||||
# celery worker -A celery_worker.celery -l DEBUG -E -Q xxxx
|
# celery -A celery_worker.celery worker -l DEBUG -E -Q xxxx
|
||||||
|
|
||||||
app = create_app()
|
app = create_app()
|
||||||
app.app_context().push()
|
app.app_context().push()
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
-i https://mirrors.aliyun.com/pypi/simple
|
-i https://mirrors.aliyun.com/pypi/simple
|
||||||
alembic==1.7.7
|
alembic==1.7.7
|
||||||
amqp==2.6.1
|
|
||||||
aniso8601==9.0.1
|
|
||||||
attrs==23.1.0
|
|
||||||
backports.zoneinfo==0.2.1
|
|
||||||
bcrypt==4.0.1
|
|
||||||
beautifulsoup4==4.12.2
|
|
||||||
billiard==3.6.4.0
|
|
||||||
bs4==0.0.1
|
bs4==0.0.1
|
||||||
cachelib==0.9.0
|
celery==5.3.1
|
||||||
celery==4.3.0
|
|
||||||
celery-once==3.0.1
|
celery-once==3.0.1
|
||||||
certifi==2023.7.22
|
|
||||||
charset-normalizer==3.1.0
|
|
||||||
click==8.1.3
|
click==8.1.3
|
||||||
dnspython==2.3.0
|
|
||||||
elasticsearch==7.17.9
|
elasticsearch==7.17.9
|
||||||
email-validator==1.3.1
|
email-validator==1.3.1
|
||||||
environs==4.2.0
|
environs==4.2.0
|
||||||
|
@ -27,51 +16,31 @@ Flask-Login==0.6.2
|
||||||
Flask-Migrate==2.5.2
|
Flask-Migrate==2.5.2
|
||||||
Flask-RESTful==0.3.10
|
Flask-RESTful==0.3.10
|
||||||
Flask-SQLAlchemy==2.5.0
|
Flask-SQLAlchemy==2.5.0
|
||||||
future==0.18.2
|
future==0.18.3
|
||||||
gunicorn==21.0.1
|
gunicorn==21.0.1
|
||||||
idna==3.4
|
|
||||||
importlib-metadata==6.8.0
|
|
||||||
importlib-resources=
|
|
||||||
=6.0.0
|
|
||||||
itsdangerous==2.1.2
|
itsdangerous==2.1.2
|
||||||
Jinja2==3.1.2
|
Jinja2==3.1.2
|
||||||
jinja2schema==0.1.4
|
jinja2schema==0.1.4
|
||||||
jsonschema==4.18.0
|
jsonschema==4.18.0
|
||||||
jsonschema-specifications==2023.6.1
|
kombu==5.3.1
|
||||||
kombu==4.4.0
|
|
||||||
Mako==1.2.4
|
Mako==1.2.4
|
||||||
MarkupSafe==2.1.3
|
MarkupSafe==2.1.3
|
||||||
marshmallow==2.20.2
|
marshmallow==2.20.2
|
||||||
meld3==2.0.1
|
|
||||||
mistune==3.0.1
|
|
||||||
more-itertools==5.0.0
|
more-itertools==5.0.0
|
||||||
msgpack-python==0.5.6
|
msgpack-python==0.5.6
|
||||||
Pillow==9.3.0
|
Pillow==9.3.0
|
||||||
pkgutil_resolve_name==1.3.10
|
|
||||||
pyasn1==0.5.0
|
|
||||||
pyasn1-modules==0.3.0
|
|
||||||
pycryptodome==3.12.0
|
pycryptodome==3.12.0
|
||||||
PyJWT==2.4.0
|
PyJWT==2.4.0
|
||||||
PyMySQL==1.1.0
|
PyMySQL==1.1.0
|
||||||
python-dateutil==2.8.2
|
|
||||||
python-dotenv==1.0.0
|
|
||||||
python-ldap==3.4.0
|
python-ldap==3.4.0
|
||||||
pytz==2023.3
|
|
||||||
PyYAML==6.0
|
PyYAML==6.0
|
||||||
redis==3.2.1
|
redis==4.6.0
|
||||||
referencing==0.29.1
|
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
rpds-py==0.8.8
|
|
||||||
six==1.12.0
|
six==1.12.0
|
||||||
soupsieve==2.4.1
|
|
||||||
SQLAlchemy==1.4.49
|
SQLAlchemy==1.4.49
|
||||||
supervisor==4.0.3
|
supervisor==4.0.3
|
||||||
timeout-decorator==0.5.0
|
timeout-decorator==0.5.0
|
||||||
toposort==1.10
|
toposort==1.10
|
||||||
treelib==1.6.1
|
treelib==1.6.1
|
||||||
tzlocal==5.0.1
|
|
||||||
urllib3==1.26.16
|
|
||||||
vine==1.3.0
|
|
||||||
Werkzeug==2.3.6
|
Werkzeug==2.3.6
|
||||||
WTForms==3.0.0
|
WTForms==3.0.0
|
||||||
zipp==3.16.0
|
|
|
@ -53,13 +53,16 @@ MAIL_PASSWORD = ''
|
||||||
DEFAULT_MAIL_SENDER = ''
|
DEFAULT_MAIL_SENDER = ''
|
||||||
|
|
||||||
# # queue
|
# # queue
|
||||||
CELERY_RESULT_BACKEND = "redis://127.0.0.1:6379/2"
|
CELERY = {
|
||||||
BROKER_URL = 'redis://127.0.0.1:6379/2'
|
"broker_url": 'redis://127.0.0.1:6379/2',
|
||||||
BROKER_VHOST = '/'
|
"result_backend": "redis://127.0.0.1:6379/2",
|
||||||
|
"broker_vhost": "/",
|
||||||
|
"broker_connection_retry_on_startup": True
|
||||||
|
}
|
||||||
ONCE = {
|
ONCE = {
|
||||||
'backend': 'celery_once.backends.Redis',
|
'backend': 'celery_once.backends.Redis',
|
||||||
'settings': {
|
'settings': {
|
||||||
'url': BROKER_URL,
|
'url': CELERY['broker_url'],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
130
docs/cmdb.sql
130
docs/cmdb.sql
File diff suppressed because one or more lines are too long
|
@ -28,8 +28,8 @@ cp cmdb-api/settings.example.py cmdb-api/settings.py
|
||||||
- 后端: 进入**cmdb-api**目录执行 `pipenv run flask run -h 0.0.0.0`
|
- 后端: 进入**cmdb-api**目录执行 `pipenv run flask run -h 0.0.0.0`
|
||||||
- 前端: 进入**cmdb-ui**目录执行`yarn run serve`
|
- 前端: 进入**cmdb-ui**目录执行`yarn run serve`
|
||||||
- worker:
|
- worker:
|
||||||
- 进入**cmdb-api**目录执行 `pipenv run celery worker -A celery_worker.celery -E -Q one_cmdb_async --concurrency=1 -D`
|
- 进入**cmdb-api**目录执行 `pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --concurrency=1 -D`
|
||||||
- 进入**cmdb-api**目录执行 `pipenv run celery worker -A celery_worker.celery -E -Q acl_async --concurrency=1 -D`
|
- 进入**cmdb-api**目录执行 `pipenv run celery -A celery_worker.celery worker -E -Q acl_async --concurrency=1 -D`
|
||||||
|
|
||||||
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||||
- 如果是非本机访问, 要修改**cmdb-ui/.env**里**VUE_APP_API_BASE_URL**里的 IP 地址为后端服务的 ip 地址
|
- 如果是非本机访问, 要修改**cmdb-ui/.env**里**VUE_APP_API_BASE_URL**里的 IP 地址为后端服务的 ip 地址
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
- backend: in **cmdb-api** directory: `pipenv run flask run -h 0.0.0.0`
|
- backend: in **cmdb-api** directory: `pipenv run flask run -h 0.0.0.0`
|
||||||
- frontend: in **cmdb-ui** directory: `yarn run serve`
|
- frontend: in **cmdb-ui** directory: `yarn run serve`
|
||||||
- worker:
|
- worker:
|
||||||
- in **cmdb-api** directory: `pipenv run celery worker -A celery_worker.celery -E -Q one_cmdb_async --concurrency=1 -D`
|
- in **cmdb-api** directory: `pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --concurrency=1 -D`
|
||||||
- in **cmdb-api** directory: `pipenv run celery worker -A celery_worker.celery -E -Q acl_async --concurrency=1 -D`
|
- in **cmdb-api** directory: `pipenv run celery -A celery_worker.celery worker -E -Q acl_async --concurrency=1 -D`
|
||||||
|
|
||||||
- homepage: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
- homepage: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||||
- if not run localhost: please change ip address(**VUE_APP_API_BASE_URL**) in config file **cmdb-ui/.env** into your backend ip address
|
- if not run localhost: please change ip address(**VUE_APP_API_BASE_URL**) in config file **cmdb-ui/.env** into your backend ip address
|
||||||
|
|
Loading…
Reference in New Issue