ソースを参照

修改配置文件为yaml格式

Sherlock1011 1 年間 前
コミット
34a6980272

+ 4 - 0
app.py

@@ -1,2 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding:utf-8 -*-
+# 0:执行所有模块
+# 1:只执行热度找回
+# 2:协同过滤
+# --config 

+ 2 - 2
config/__init__.py

@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 # -*- coding:utf-8 -*-
-from config import database_config
+from config.config import load_config 
 
 __all__ = [
-    "database_config"
+    "load_config"
 ]

+ 6 - 0
config/config.py

@@ -0,0 +1,6 @@
+import yaml
+
+def load_config():
+    with open('./config/database_config.yaml') as file:
+        config = yaml.safe_load(file)
+    return config

+ 0 - 18
config/database_config.py

@@ -1,18 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding:utf-8 -*-
-"""
-Mysql数据库连接
-"""
-MYSQL_HOST = 'rm-t4n6rz18y4t5x47y70o.mysql.singapore.rds.aliyuncs.com'
-MYSQL_PORT = 3036
-MYSQL_DB = 'brand_cultivation'
-MYSQL_USER = 'BrandCultivation'
-MYSQL_PASSWD = '8BfWBc18NBXl#CMd'
-
-"""
-Redis数据库连接
-"""
-REDIS_HOST = 'r-t4nb4n9i8je7u6ogk1pd.redis.singapore.rds.aliyuncs.com'
-REDIS_PORT = 5000
-REDIS_DB = 10
-REDIS_PASSWD = 'gHmNkVBd88sZybj'

+ 12 - 0
config/database_config.yaml

@@ -0,0 +1,12 @@
+mysql:
+  host: 'rm-t4n6rz18y4t5x47y70o.mysql.singapore.rds.aliyuncs.com'
+  port: 3036
+  db: 'brand_cultivation'
+  user: 'BrandCultivation'
+  passwd: '8BfWBc18NBXl#CMd'
+
+redis:
+  host: 'r-t4nb4n9i8je7u6ogk1pd.redis.singapore.rds.aliyuncs.com'
+  port: 5000
+  db: 10
+  passwd: 'gHmNkVBd88sZybj'

+ 9 - 7
dao/mysql_client.py

@@ -5,21 +5,23 @@ from sqlalchemy import create_engine, text
 from sqlalchemy.dialects.mysql import pymysql
 from sqlalchemy.orm import sessionmaker
 from sqlalchemy.ext.declarative import declarative_base
-from config import database_config
+from config import load_config
 import pandas as pd
 import sys
 
+cfgs = load_config()
+
 class Mysql(object):
     def __init__(self):
-        host = database_config.MYSQL_HOST
-        port = database_config.MYSQL_PORT
-        user = database_config.MYSQL_USER
-        passwd = database_config.MYSQL_PASSWD
-        dbname = database_config.MYSQL_DB
+        self._host = cfgs['mysql']['host']
+        self._port = cfgs['mysql']['port']
+        self._user = cfgs['mysql']['user']
+        self._passwd = cfgs['mysql']['passwd']
+        self._dbname = cfgs['mysql']['db']
         
         # 通过连接池创建engine
         self.engine = create_engine(
-            self._connect(host, port, user, passwd, dbname),
+            self._connect(self._host, self._port, self._user, self._passwd, self._dbname),
             pool_size=10, # 设置连接池大小
             max_overflow=20, # 超过连接池大小时的额外连接数
             pool_recycle=3600 # 回收连接时间

+ 7 - 5
dao/redis_db.py

@@ -1,15 +1,17 @@
 #!/usr/bin/env python3
 # -*- coding:utf-8 -*-
 import redis
-from config import database_config
+from config import load_config
+
+cfgs = load_config()
 
 
 class Redis(object):
     def __init__(self):
-        self.redis = redis.StrictRedis(host=database_config.REDIS_HOST,
-                                       port=database_config.REDIS_PORT,
-                                       password=database_config.REDIS_PASSWD,
-                                       db=database_config.REDIS_DB,
+        self.redis = redis.StrictRedis(host=cfgs['redis']['host'],
+                                       port=cfgs['redis']['port'],
+                                       password=cfgs['redis']['passwd'],
+                                       db=cfgs['redis']['db'],
                                        decode_responses=True)
 
 

+ 0 - 2
models/recall/hot_recall.py

@@ -16,8 +16,6 @@ import joblib
 
 random.seed(12345)
 class HotRecallModel:
-    """TODO 1. 将加载数据修改为数据库加载
-            2. 将结果保存到redis数据库中"""
     def __init__(self):
         self._redis_db = Redis()
         self._hotkeys = self.get_hotkeys()