mns-scheduler 1.3.2.9__py3-none-any.whl → 1.3.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-scheduler might be problematic. Click here for more details.

@@ -441,5 +441,5 @@ if __name__ == '__main__':
441
441
  # query = {"total_operate_income": 0}
442
442
  # un_report_company_info = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
443
443
  # symbol_list = list(un_report_company_info['symbol'])
444
- sync_company_base_info(['600753'])
444
+ sync_company_base_info(None)
445
445
  # group_by_industry()
@@ -9,7 +9,7 @@ sys.path.append(project_path)
9
9
  import mns_common.component.proxies.proxy_common_api as proxy_common_api
10
10
  from mns_common.db.MongodbUtil import MongodbUtil
11
11
  from loguru import logger
12
- import mns_common.api.em.real_time.east_money_stock_a_api as east_money_stock_a_api
12
+ import mns_common.api.em.real_time.east_money_stock_a_v2_api as east_money_stock_a_v2_api
13
13
  import mns_common.api.em.real_time.east_money_debt_api as east_money_debt_api
14
14
  import mns_common.api.em.real_time.east_money_etf_api as east_money_etf_api
15
15
  import mns_common.api.em.real_time.east_money_stock_hk_api as east_money_stock_hk_api
@@ -23,15 +23,15 @@ mongodb_util = MongodbUtil('27017')
23
23
 
24
24
  def sync_all_em_stock_info():
25
25
  logger.info("同步东方财富a,etf,kzz,us,hk,信息开始")
26
- proxy_ip = proxy_common_api.get_proxy_ip(5)
26
+ proxy_ip = proxy_common_api.generate_proxy_ip(5)
27
27
  proxies = {"https": proxy_ip}
28
28
  try:
29
- em_a_stock_info_df = east_money_stock_a_api.get_real_time_quotes_all_stocks(proxies)
29
+ # 这里需要使用详情接口 获取全量数据
30
+ em_a_stock_info_df = east_money_stock_a_v2_api.get_all_real_time_quotes(proxies)
30
31
  em_a_stock_info_df['_id'] = em_a_stock_info_df['symbol']
31
32
  mongodb_util.save_mongo(em_a_stock_info_df, extra_income_db_name.EM_A_STOCK_INFO)
32
33
  except BaseException as e:
33
34
  logger.error("同步东方财富A股信息异常:{}", e)
34
-
35
35
  try:
36
36
  em_etf_info = east_money_etf_api.get_etf_real_time_quotes(proxies)
37
37
  em_etf_info['_id'] = em_etf_info['symbol']
@@ -18,6 +18,7 @@ import mns_common.api.msg.push_msg_api as push_msg_api
18
18
  import numpy as np
19
19
  import mns_common.utils.data_frame_util as data_frame_util
20
20
  from loguru import logger
21
+ import threading
21
22
 
22
23
  # source_type = 'xue_qiu'
23
24
  source_type = 'xue_qiu'
@@ -29,14 +30,57 @@ def custom_alert(current: int, threshold: int):
29
30
  push_msg_api.push_msg_to_wechat('获取k线数据异常', "当前次数:" + str(current) + "阈值:" + str(threshold))
30
31
 
31
32
 
33
+ # 定义一个带超时的函数调用
34
+ def call_with_timeout(func, *args, timeout=10, **kwargs):
35
+ # 用于存储函数执行结果
36
+ result = None
37
+ exception = None
38
+
39
+ # 定义一个线程目标函数
40
+ def target():
41
+ nonlocal result, exception
42
+ try:
43
+ result = func(*args, **kwargs)
44
+ except Exception as e:
45
+ exception = e
46
+
47
+ # 创建线程并启动
48
+ thread = threading.Thread(target=target)
49
+ thread.start()
50
+
51
+ # 等待线程完成,最多等待 timeout 秒
52
+ thread.join(timeout)
53
+
54
+ # 如果线程仍然存活,说明函数超时了
55
+ if thread.is_alive():
56
+ raise TimeoutError(f"Function exceeded timeout of {timeout} seconds")
57
+
58
+ # 如果函数抛出了异常,重新抛出
59
+ if exception is not None:
60
+ raise exception
61
+ return result
62
+
63
+
32
64
  def get_k_line_common_adapter(symbol, period, hq, end_date):
33
65
  global error_no
34
66
  df = pd.DataFrame()
35
67
  try:
36
68
  if source_type == 'em':
37
- df = get_em_k_line_api(symbol, period, hq, end_date)
69
+
70
+ df = call_with_timeout(get_em_k_line_api,
71
+ symbol,
72
+ period,
73
+ hq,
74
+ end_date,
75
+ timeout=10)
38
76
  elif source_type == 'xue_qiu':
39
- df = get_xueqiu_k_line_api(symbol, period, hq, end_date)
77
+ df = call_with_timeout(get_xueqiu_k_line_api,
78
+ symbol,
79
+ period,
80
+ hq,
81
+ end_date,
82
+ timeout=10)
83
+
40
84
  if data_frame_util.is_empty(df):
41
85
  error_no = error_no + 1
42
86
  except BaseException as e:
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.3.2.9
3
+ Version: 1.3.3.1
4
4
 
@@ -5,7 +5,7 @@ mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlI
5
5
  mns_scheduler/company_info/announce/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
6
6
  mns_scheduler/company_info/announce/company_announce_sync_service.py,sha256=JV3DXURxhc3Tjeszvi-ZClddRSbzgTRwTX5eae5ZLII,2808
7
7
  mns_scheduler/company_info/base/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
8
- mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=XFdTpZHaW-vupu6_bHuudy2SsYqddgWuO92Dxv6Sa8o,20796
8
+ mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=3P8bfO9-WCesCqHJawJHw973eoT1oYuz5EAb2yaXVy0,20790
9
9
  mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=ep9CthkoL_NNqkZgAeAdZqaf7_LNFDCrZonUjrT7w5o,1587
10
10
  mns_scheduler/company_info/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
11
11
  mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=P_-Nms6S1nVyqVOFKDT-Cq1RvriZV4IMz9eZCDF5Ovk,6104
@@ -14,7 +14,7 @@ mns_scheduler/company_info/constant/company_constant_data.py,sha256=0qhRXLASsQlY
14
14
  mns_scheduler/company_info/de_list_stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
15
15
  mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=QNtKc1ZI6xHjupcxbOBN7fBhi6oAGtL7X1TQZVzfpnk,1993
16
16
  mns_scheduler/company_info/em_stock_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
17
- mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=xXrOJaskcfOfFFw6VFYwE_Z8ZZbU4BCoPcqTDBIazm4,3750
17
+ mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=4ITjXqWoJo8s1QCPV_fyE00VYVYYRGj7oy0akq7R6-0,3816
18
18
  mns_scheduler/company_info/remark/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
19
19
  mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=L8wC8LU7-GYZb1TyKLjODJURROOEO4izZBxnWEM7Ahc,2334
20
20
  mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -79,7 +79,7 @@ mns_scheduler/k_line/clean/week_month/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3
79
79
  mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=n2osY8dozHClIlSOE7NR6S_oK_8GV-z72Az13D3fhCQ,10160
80
80
  mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha256=0rc2Rz_EoqoqpVvgPe4daCe09JtHBlJsQr1bMIlBQ2o,5526
81
81
  mns_scheduler/k_line/common/__init__.py,sha256=itoGlqKhsx7EVXQoD1vchDKQ5GPB16vDjofTSuQtrXg,161
82
- mns_scheduler/k_line/common/k_line_common_api.py,sha256=J8TUT2FYayZfHGvavmuS0KEwjQUoKaKa63Oy0VgV0Zc,5813
82
+ mns_scheduler/k_line/common/k_line_common_api.py,sha256=9ep7-NyI_x2a1onTlmPg-R4VNx3yZ-IBQuhu1HgcBbM,7120
83
83
  mns_scheduler/k_line/hot_stocks/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
84
84
  mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=8woZzGVORYX9KZr6xtfiYYgApDKissnzYM6hS2k6XBA,2628
85
85
  mns_scheduler/k_line/month_week_daily/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
@@ -156,7 +156,7 @@ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=9Sv1G88poLG3_8aLPkfr8bdw
156
156
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=caW-MuF0RFLavJZafeLDYQ29-GxwGsmr5YVrN4lost8,2135
157
157
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
158
158
  mns_scheduler/zz_task/data_sync_task.py,sha256=18MI6OyWS97LvD_fj717St3gfJC4NNrA1lyKn_OteHc,23150
159
- mns_scheduler-1.3.2.9.dist-info/METADATA,sha256=xw3XUBtv4KcYCBs-zROiVFyUiQMACxHcY_hjChreGj4,64
160
- mns_scheduler-1.3.2.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
161
- mns_scheduler-1.3.2.9.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
162
- mns_scheduler-1.3.2.9.dist-info/RECORD,,
159
+ mns_scheduler-1.3.3.1.dist-info/METADATA,sha256=ekHl0bxT23RokfR1uT0g1mFOjueotLfaAROVTK4DQjw,64
160
+ mns_scheduler-1.3.3.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
161
+ mns_scheduler-1.3.3.1.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
162
+ mns_scheduler-1.3.3.1.dist-info/RECORD,,