소스 검색

MOD:微信计划--年龄 fix

cxyu 3 년 전
부모
커밋
c12d2259a8
2개의 변경된 파일21개의 추가작업 그리고 16개의 파일을 삭제
  1. 19 14
      web_module/tornado_api.py
  2. 2 2
      wechat_action/create_ad_plan.py

+ 19 - 14
web_module/tornado_api.py

@@ -119,8 +119,9 @@ class create_ad_plan(BaseHandler):
         sql_session.commit()
 
     def post(self):
+        sql_session = db.DBSession()
+        log_ad = None
         try:
-            sql_session = db.DBSession()
             request_dict = json.loads(self.request.body, encoding='utf-8')
             print(request_dict)
             ad_plan_list = request_dict['plan_list']
@@ -139,14 +140,13 @@ class create_ad_plan(BaseHandler):
             else:
                 self.save_task_info(user_id, ad_plan_list, sql_session, task_name)
         except Exception as e:
-            raise
             logging.error(str(e))
-
             self.write('eror')
-            try:
-                sql_session.commit()
-            except:
-                pass
+            raise
+        finally:
+            if log_ad:
+                log_ad.driver.quit()
+            sql_session.commit()
 
 
 class get_ad_plan_local(BaseHandler):
@@ -283,7 +283,7 @@ class ad_human_info(BaseHandler):
     # 1.人群包获取
     def get(self):
         sql_session = db.DBSession()
-
+        log_ad = None
         try:
             # 0.是否刷新
             # 1.获取userid,以及是否刷新
@@ -345,16 +345,19 @@ class ad_human_info(BaseHandler):
                             'human_info': result})
         except Exception as e:
             logging.error(str(e))
-            try:
-                sql_session.commit()
-            except:
-                pass
+            raise
+        finally:
+            sql_session.commit()
+            if log_ad:
+                log_ad.driver.quit()
 
 
 class ad_wechat_info(BaseHandler):
 
     # 1.公众号相关信息获取
     def get(self):
+        sql_session = db.DBSession()
+        log_ad = None
         try:
             # TODO:添加分页,
             #  公众号,服务商,唯一id设计或者获取
@@ -367,7 +370,6 @@ class ad_wechat_info(BaseHandler):
             if user_id is None or is_refresh is None:
                 self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
                 return
-            sql_session = db.DBSession()
             if int(is_refresh) == 1:
                 # 检查有无其他任务在处理中,有则等待
                 if not create_ad_plan.check_task(user_id=user_id):
@@ -403,8 +405,11 @@ class ad_wechat_info(BaseHandler):
                 self.write({'status': {'msg': 'success', "RetCode": 200},
                             'wechat_info': result_list})
         except Exception as e:
-            sql_session.commit()
+            logging.error(str(e))
+            raise
         finally:
+            if log_ad:
+                log_ad.driver.quit()
             sql_session.commit()
 
 

+ 2 - 2
wechat_action/create_ad_plan.py

@@ -267,7 +267,7 @@ class CreateAdPlan():
         else:
             self.driver.execute_script('''
             document.getElementsByClassName('rc-virtual-list-holder')[0].scrollTop={};
-            '''.format(((age_list[0] - 17) / 7) * 256))
+            '''.format(int((age_list[0] - 17) / 7) * 256))
             time.sleep(random.uniform(0.1, 0.2))
             self.driver.find_element_by_xpath('//*[@id="begin_age_{}"]'.format(int(age_list[0]))).click()
 
@@ -276,7 +276,7 @@ class CreateAdPlan():
             time.sleep(random.uniform(0.1, 0.2))
             self.driver.execute_script('''
                 document.getElementsByClassName('rc-virtual-list-holder')[0].scrollTop={};
-                '''.format(((age_list[1] - 17) / 7) * 256))
+                '''.format(int((age_list[1] - 17) / 7) * 256))
             time.sleep(random.uniform(0.1, 0.2))
             self.driver.find_element_by_xpath('//*[@id="end_age_{}"]'.format(int(age_list[1]))).click()