| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- from concurrent.futures import ThreadPoolExecutor
 
- import requests
 
- import datetime
 
- import json
 
- import pandas as pd
 
- from sqlalchemy import create_engine
 
- db_con_str = "mysql+pymysql://%s:%s@%s:%d/%s" % ("data", "hcst@2021", "139.186.27.96", 4000, "jeecg-boot")
 
- engine = create_engine(db_con_str, connect_args={'charset': 'utf8'})
 
- def send_request(account_id):
 
-     url = 'http://139.186.27.96:31012/ai_programme_high_quality_material'
 
-     request_data = json.dumps({"account_id": account_id})
 
-     request = requests.post(url, request_data)
 
-     return json.loads(request.text)
 
- # 0、 打印该定时任务被调用的时间
 
- print("*************************", datetime.datetime.now(), "*************************")
 
- # 1、获取已有的账号
 
- sql = """
 
- select account_id from ctop_ai_kuaishou_advertiser_strategy where status = 1
 
- """
 
- acc_df = pd.read_sql(sql, engine)
 
- acc_list = [int(account_id) for account_id in acc_df['account_id'].unique()]
 
- print(acc_list)
 
- # 2、 5个账户一组进行发送请求
 
- batch_num = 5
 
- for i in range(0, len(acc_list), batch_num):
 
-     if i + batch_num < len(acc_list):
 
-         print(tuple(acc_list[i:i+batch_num]))
 
-         with ThreadPoolExecutor(max_workers=batch_num) as pool:
 
-             results = pool.map(send_request, tuple(acc_list[i: i+batch_num]))
 
-             for r in results:
 
-                 print('res = %s' % r)
 
-     else:
 
-         with ThreadPoolExecutor(max_workers=batch_num) as pool:
 
-             print(acc_list[i: len(acc_list)])
 
-             results = pool.map(send_request, tuple(acc_list[i: len(acc_list)]))
 
-             for r in results:
 
-                 print('res = %s' % r)
 
 
  |