初始 项目格式

This commit is contained in:
王思川 2021-12-08 14:40:36 +08:00
parent 7dca4a1448
commit 443a56364d
12 changed files with 90 additions and 0 deletions

14
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,14 @@
stages:
- deploy
job:
stage: deploy
script:
- docker stop etl_tfse
- docker rm etl_tfse
- docker build -t etl_tfse .
- docker run -d -p 51011:51011 --name etl_tfse -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro etl_tfse
only:
- master
tags:
- etl_tfse

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM python:3.8
WORKDIR /usr/src/app/etl_tfse
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple
COPY . .
CMD ["gunicorn", "app:app", "-c", "./gunicorn.conf.py"]

0
common/__init__.py Normal file
View File

21
common/scripts.py Normal file
View File

@ -0,0 +1,21 @@
import functools
from flask import request
from setting import API_SECRET
def verify_token(func):
"""
校验token
"""
@functools.wraps(func)
def internal(*args, **kwargs):
try:
token = request.headers.get('token')
if token != API_SECRET:
return {"info": "接口密钥错误"}, 401
except Exception:
return {"info": "请求异常"}, 401
return func(*args, **kwargs)
return internal

0
company/__init__.py Normal file
View File

0
company/db.py Normal file
View File

20
company/routes.py Normal file
View File

@ -0,0 +1,20 @@
from flask import Blueprint, request, Response
from common.scripts import verify_token
from company.scripts import *
company_route = Blueprint('company', __name__)
@company_route.route('/basic_info', methods=['POST'])
@verify_token
def basic_info():
"""
基础信息清晰
Parameters:
company_name 企业名称
Returns:
res: desc
"""
company_name = request.json['company_name']
basic_info_etl(company_name)

9
company/scripts.py Normal file
View File

@ -0,0 +1,9 @@
def basic_info_etl(param):
"""
根据企业名称查询天眼查数据库
将数据按规定格式存储到股交企业数据库中
Parameters:
param: desc
Returns:
res: desc
"""

8
gunicorn.conf.py Normal file
View File

@ -0,0 +1,8 @@
from setting import APP_PORT
# 并行工作进程数
workers = 10
# 监听内网端口
bind = '0.0.0.0:{}'.format(APP_PORT)
# 工作模式协程
worker_class = 'gevent'

0
rating/__init__.py Normal file
View File

6
requirements.txt Normal file
View File

@ -0,0 +1,6 @@
flask~=1.1.2
flask_cors
gunicorn
gevent
pymongo~=3.11.0
requests~=2.25.1

6
setting.py Normal file
View File

@ -0,0 +1,6 @@
# 应用配置
APP_NAME = 'etl_tfse'
APP_PORT = '51011'
# 接口密钥
API_SECRET = "dmfd7FshT!5Wng9^gcCcQV7T6FBnVgl4"