Quellcode durchsuchen

优质定向V0.2

liyuyi@c-top.com.cn vor 3 Jahren
Ursprung
Commit
35028dd9fa
4 geänderte Dateien mit 31 neuen und 27 gelöschten Zeilen
  1. 17 14
      ai_callback_handler.py
  2. 9 9
      ai_target_create_ads.py
  3. 2 0
      config/url_and_db.py
  4. 3 4
      time_task_create_ad_by_target.py

+ 17 - 14
ai_callback_handler.py

@@ -1,5 +1,6 @@
 import json
 import os
+import sys
 import traceback
 
 import pymysql
@@ -7,6 +8,12 @@ import tornado.web
 import yaml
 from loguru import logger
 
+curr_path = os.path.abspath(os.path.dirname(__file__))
+project_root_path = curr_path[:curr_path.find("ai_target") + len("ai_target")]
+sys.path.append(project_root_path)
+
+from config.url_and_db import jeecg_db, db_config_info
+
 logger.remove()  # 删去 import logger之后自动产生的handler,不删除的话会出现重复输出的现象
 logger.add("/data/pythonProject/ai_target/logs/ai_callback.{time:YYYY-MM-DD}.log",
            rotation="00:00",
@@ -16,10 +23,6 @@ logger.info("ai_callback_server started!")
 
 with open('/data/pythonProject/ai_target/config/config.yaml', mode='r', encoding='utf-8') as f:
     config = yaml.load(f.read(), Loader=yaml.FullLoader)
-if os.getenv('LYY_DEV', 'unknown') == 'dev':
-    db_info = config['jeecg_dev_db']
-else:
-    db_info = config['jeecg_product_db']
 
 
 class AiCallBackAddCreative(tornado.web.RequestHandler):
@@ -33,11 +36,11 @@ class AiCallBackAddCreative(tornado.web.RequestHandler):
         logger.info("call back of add creative, the raw data from request is %s" % data)
 
         try:
-            db_con = pymysql.connect(host=db_info['host'],
-                                     port=db_info['port'],
-                                     user=db_info['username'],
-                                     password=db_info['password'],
-                                     database=db_info['database'],
+            db_con = pymysql.connect(host=db_config_info['host'],
+                                     port=db_config_info['port'],
+                                     user=db_config_info['username'],
+                                     password=db_config_info['password'],
+                                     database=db_config_info['database'],
                                      charset='utf8')
             cursor = db_con.cursor()
             for item in data['callbackData']:
@@ -93,11 +96,11 @@ class AiCallBackAddGroup(tornado.web.RequestHandler):
         logger.info("call back of add group, the raw data from request is %s" % data)
 
         try:
-            db_con = pymysql.connect(host=db_info['host'],
-                                     port=db_info['port'],
-                                     user=db_info['username'],
-                                     password=db_info['password'],
-                                     database=db_info['database'],
+            db_con = pymysql.connect(host=db_config_info['host'],
+                                     port=db_config_info['port'],
+                                     user=db_config_info['username'],
+                                     password=db_config_info['password'],
+                                     database=db_config_info['database'],
                                      charset='utf8')
             cursor = db_con.cursor()
             for item in data['callbackData']:

+ 9 - 9
ai_target_create_ads.py

@@ -17,7 +17,7 @@ project_root_path = curr_path[:curr_path.find("ai_target") + len("ai_target")]
 sys.path.append(project_root_path)
 
 from config.url_and_db import create_campaign_url, create_group_and_creative_url, headers, \
-    update_campaign_status_url, jeecg_db, jeecg_product_db
+    update_campaign_status_url, jeecg_db, jeecg_product_db, db_config_info
 from utils.BaseClass import NpEncoder
 from utils.commonFunc import is_contains_gender, is_contains_age, is_contains_region
 
@@ -366,14 +366,14 @@ class GetTargetAndCreateAds(object):
         # 创意层级信息批量写入数据库
         creative_df = pd.DataFrame(batch_creative_params_to_db)
         creative_df.to_sql(name="ctop_ai_kuaishou_creative_level_operation_record",
-                           con=jeecg_product_db,
+                           con=jeecg_db,
                            if_exists='append',
                            index=False)
 
         # 组层级信息批量写入数据库
         group_df = pd.DataFrame(batch_group_params_to_db)
         group_df.to_sql(name="ctop_ai_kuaishou_unit_level_operation_record",
-                        con=jeecg_product_db,
+                        con=jeecg_db,
                         if_exists='append',
                         index=False)
 
@@ -495,7 +495,7 @@ class GetTargetAndCreateAds(object):
             replace('{{广告位置}}', scene_id)
 
         # 3-5 日期, 在拼装广告组和创意层级函数中获取
-        now_date = datetime.date.today().strftime('%Y-%m-%d')
+        now_date = datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
         if '日期' in group_params['unit_name']:
             unit_name = unit_name.replace('{{日期}}', now_date)
         else:
@@ -589,11 +589,11 @@ class GetTargetAndCreateAds(object):
         更新 intelligence_strategy_table
         :return:
         """
-        db_con = pymysql.connect(host=jeecg_product_db['host'],
-                                 port=jeecg_product_db['port'],
-                                 user=jeecg_product_db['username'],
-                                 password=jeecg_product_db['password'],
-                                 database=jeecg_product_db['database'],
+        db_con = pymysql.connect(host=db_config_info['host'],
+                                 port=db_config_info['port'],
+                                 user=db_config_info['username'],
+                                 password=db_config_info['password'],
+                                 database=db_config_info['database'],
                                  charset='utf8')
         cursor = db_con.cursor()
         if message:

+ 2 - 0
config/url_and_db.py

@@ -12,8 +12,10 @@ with open('/data/pythonProject/ai_target/config/config.yaml', mode='r', encoding
 mac = uuid.UUID(int=uuid.getnode()).hex[-12:]
 if mac in ['5254003fa716', '00163e9162d9']:
     jeecg_db = get_db_engine(config['jeecg_dev_db'])
+    db_config_info = config['jeecg_dev_db']
 else:
     jeecg_db = get_db_engine(config['jeecg_product_db'])
+    db_config_info = config['jeecg_dev_db']
 
 jeecg_product_db = get_db_engine(config['jeecg_product_db'])
 application_product_db = get_db_engine(config['application_product_db'])

+ 3 - 4
time_task_create_ad_by_target.py

@@ -15,8 +15,6 @@ sys.path.append(project_root_path)
 from config.url_and_db import jeecg_product_db
 from ai_target_create_ads import ai_target_combine_create
 
-
-
 logger.remove()  # 删去 import logger之后自动产生的handler,不删除的话会出现重复输出的现象
 logger.add("/data/pythonProject/ai_target/logs/time_task_create_ad_by_target.{time:YYYY-MM-DD}.log",
            rotation="00:00",
@@ -47,8 +45,9 @@ acc_list = [(int(item['account_id']), int(item['project_id'])) for index, item i
 # TODO 注释测试代码 for test
 # acc_list = [(10456827, 458), (9774238, 458)]
 # acc_list = [(10456827, 458), (9774238, 458)]
-# acc_list = [(11041466, 458)]  # 李琳的账户
-acc_list = [(10967859, 458)]  # 郭浩的账户
+acc_list = [(11041466, 458)]  # 李琳的账户
+# acc_list = [(10967859, 458)]  # 郭浩的账户
+
 
 def task(args):
     account_id = args[0]