mns-scheduler 1.2.8.8__py3-none-any.whl → 1.2.9.0__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.

Files changed (33) hide show
  1. mns_scheduler/company_info/base/sync_company_base_info_api.py +2 -2
  2. mns_scheduler/company_info/em_stock_info/__init__.py +7 -0
  3. mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +69 -0
  4. mns_scheduler/company_info/remark/company_remark_info_sync.py +2 -2
  5. mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +2 -2
  6. mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +2 -2
  7. mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py +2 -2
  8. mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py +3 -3
  9. mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py +1 -1
  10. mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py +1 -1
  11. mns_scheduler/finance/em_financial_profit_sync_service_api.py +1 -1
  12. mns_scheduler/finance/finance_common_api.py +1 -1
  13. mns_scheduler/hk/hk_company_info_sync_service_api.py +2 -3
  14. mns_scheduler/hk/hk_industry_info_sync_service_api.py +2 -3
  15. mns_scheduler/irm/stock_irm_cninfo_service.py +1 -1
  16. mns_scheduler/k_line/clean/k_line_info_clean_task.py +2 -2
  17. mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py +1 -1
  18. mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py +2 -2
  19. mns_scheduler/k_line/test/k_line_info_clean_his_data.py +1 -1
  20. mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +1 -1
  21. mns_scheduler/risk/transactions/transactions_check_api.py +2 -2
  22. mns_scheduler/trade/auto_sell_service_api.py +2 -2
  23. mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +1 -1
  24. mns_scheduler/zt/script/sync_now_higt_chg_zt.py +1 -1
  25. mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +3 -3
  26. mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +1 -1
  27. mns_scheduler/zz_task/data_sync_task.py +4 -4
  28. {mns_scheduler-1.2.8.8.dist-info → mns_scheduler-1.2.9.0.dist-info}/METADATA +1 -1
  29. {mns_scheduler-1.2.8.8.dist-info → mns_scheduler-1.2.9.0.dist-info}/RECORD +31 -31
  30. mns_scheduler/db/real_time_task_check.py +0 -128
  31. mns_scheduler/db/task_handle_service.py +0 -64
  32. {mns_scheduler-1.2.8.8.dist-info → mns_scheduler-1.2.9.0.dist-info}/WHEEL +0 -0
  33. {mns_scheduler-1.2.8.8.dist-info → mns_scheduler-1.2.9.0.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,7 @@ from datetime import datetime
10
10
  import pandas as pd
11
11
  from loguru import logger
12
12
  import mns_common.api.ths.concept.web.ths_company_info_web as ths_company_info_web
13
- import mns_common.api.em.east_money_stock_v2_api as east_money_stock_v2_api
13
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
14
14
  import mns_common.component.common_service_fun_api as common_service_fun_api
15
15
  import mns_common.component.concept.ths_concept_common_service_api as ths_concept_common_service_api
16
16
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -59,7 +59,7 @@ def calculate_circulation_ratio(symbol):
59
59
 
60
60
 
61
61
  def get_east_money_stock_info():
62
- all_real_time_quotes = east_money_stock_v2_api.get_all_real_time_quotes()
62
+ all_real_time_quotes = em_stock_info_api.get_a_stock_info()
63
63
  all_real_time_quotes = all_real_time_quotes[['symbol',
64
64
  'name',
65
65
  "now_price",
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,69 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import datetime
9
+ import mns_common.component.proxies.proxy_common_api as proxy_common_api
10
+ from mns_common.db.MongodbUtil import MongodbUtil
11
+ from loguru import logger
12
+ import mns_common.api.em.real_time.east_money_stock_a_v2_api as east_money_stock_a_v2_api
13
+ import mns_common.api.em.real_time.east_money_debt_api as east_money_debt_api
14
+ import mns_common.api.em.real_time.east_money_etf_api as east_money_etf_api
15
+ import mns_common.api.em.real_time.east_money_stock_hk_api as east_money_stock_hk_api
16
+ import mns_common.api.em.real_time.east_money_stock_us_api as east_money_stock_us_api
17
+ import mns_common.constant.db_name_constant as db_name_constant
18
+ import mns_common.component.cookie.cookie_info_service as cookie_info_service
19
+
20
+ mongodb_util = MongodbUtil('27017')
21
+
22
+
23
+ def sync_all_em_stock_info():
24
+ logger.info("同步东方财富a,etf,kzz,us,hk,信息开始")
25
+ now_date = datetime.datetime.now()
26
+ str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
27
+ proxy_ip = proxy_common_api.get_proxy_ip(str_now_date, 3)
28
+ proxies = {"https": proxy_ip}
29
+ # try:
30
+ # em_a_stock_info_df = east_money_stock_a_v2_api.get_all_real_time_quotes(proxies)
31
+ # em_a_stock_info_df['_id'] = em_a_stock_info_df['symbol']
32
+ # mongodb_util.save_mongo(em_a_stock_info_df, db_name_constant.EM_A_STOCK_INFO)
33
+ # except BaseException as e:
34
+ # logger.error("同步东方财富A股信息异常:{}", e)
35
+ #
36
+ # try:
37
+ # em_etf_info = east_money_etf_api.get_etf_real_time_quotes(proxies)
38
+ # em_etf_info['_id'] = em_etf_info['symbol']
39
+ # mongodb_util.save_mongo(em_etf_info, db_name_constant.EM_ETF_INFO)
40
+ # except BaseException as e:
41
+ # logger.error("同步东方财富ETF信息异常:{}", e)
42
+ #
43
+ # try:
44
+ # em_kzz_info = east_money_debt_api.get_debt_real_time_quotes(proxies)
45
+ #
46
+ # em_kzz_info['_id'] = em_kzz_info['symbol']
47
+ # mongodb_util.save_mongo(em_kzz_info, db_name_constant.EM_KZZ_INFO)
48
+ # except BaseException as e:
49
+ # logger.error("同步东方财富可转债信息异常:{}", e)
50
+ #
51
+ em_cookie = cookie_info_service.get_em_cookie()
52
+ # try:
53
+ # em_hk_stock_info = east_money_stock_hk_api.get_hk_real_time_quotes(em_cookie, proxies)
54
+ # em_hk_stock_info['_id'] = em_hk_stock_info['symbol']
55
+ # mongodb_util.save_mongo(em_hk_stock_info, db_name_constant.EM_HK_STOCK_INFO)
56
+ # except BaseException as e:
57
+ # logger.error("同步东方财富港股信息异常:{}", e)
58
+
59
+ try:
60
+ em_us_stock_info = east_money_stock_us_api.get_us_stock_real_time_quotes(em_cookie, proxies)
61
+ em_us_stock_info['_id'] = em_us_stock_info['symbol']
62
+ mongodb_util.save_mongo(em_us_stock_info, db_name_constant.EM_US_STOCK_INFO)
63
+ except BaseException as e:
64
+ logger.error("同步东方财富美股信息异常:{}", e)
65
+ logger.info("同步东方财富a,etf,kzz,us,hk,信息完成")
66
+
67
+
68
+ if __name__ == '__main__':
69
+ sync_all_em_stock_info()
@@ -6,7 +6,7 @@ end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import mns_common.api.ths.concept.web.ths_company_info_web as ths_company_info_web
9
- import mns_common.api.em.east_money_stock_v2_api as east_money_stock_v2_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  from mns_common.db.MongodbUtil import MongodbUtil
11
11
  import mns_common.utils.data_frame_util as data_frame_util
12
12
  import mns_common.constant.db_name_constant as db_name_constant
@@ -18,7 +18,7 @@ mongodb_util = MongodbUtil('27017')
18
18
 
19
19
 
20
20
  def sync_company_remark_info():
21
- east_money_stock_info = east_money_stock_v2_api.get_all_real_time_quotes()
21
+ east_money_stock_info = em_stock_info_api.get_a_stock_info()
22
22
  de_listed_stock_list = company_common_service_api.get_de_list_company()
23
23
  east_money_stock_info = east_money_stock_info.loc[~(
24
24
  east_money_stock_info['symbol'].isin(de_listed_stock_list))]
@@ -9,7 +9,7 @@ import mns_common.component.concept.ths_concept_common_service_api as ths_concep
9
9
  import mns_common.component.common_service_fun_api as common_service_fun_api
10
10
  import mns_common.api.ths.concept.app.ths_concept_detail_app as ths_concept_detail_app
11
11
  import mns_common.api.ths.wen_cai.ths_wen_cai_api as ths_wen_cai_api
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
14
14
  import mns_common.api.ths.concept.web.ths_concept_detail_web as ths_concept_detail_web
15
15
  import math
@@ -24,7 +24,7 @@ import mns_common.constant.redis_msg_constant as redis_msg_constant
24
24
 
25
25
 
26
26
  def get_ths_concept_detail(concept_code, concept_name):
27
- real_time_quotes_all_stocks = east_money_stock_api.get_real_time_quotes_all_stocks()
27
+ real_time_quotes_all_stocks = em_stock_info_api.get_a_stock_info()
28
28
  # 1 通过入选理获取概念组成股票详情
29
29
  ths_concept_detail_by_explain = get_ths_concept_detail_by_explain(concept_code, real_time_quotes_all_stocks)
30
30
  # 2 app 分享链接获取概念组成详情
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import sys
3
3
  import mns_common.api.ths.concept.web.ths_concept_detail_web as ths_concept_detail_web
4
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
4
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
5
5
  import mns_common.component.common_service_fun_api as common_service_fun_api
6
6
  from mns_common.db.MongodbUtil import MongodbUtil
7
7
  from loguru import logger
@@ -157,7 +157,7 @@ def update_symbol_new_concept(symbol_df, page_number):
157
157
 
158
158
  def sync_symbol_all_concept(symbol):
159
159
  create_index()
160
- real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
160
+ real_time_quotes_now = em_stock_info_api.get_a_stock_info()
161
161
  real_time_quotes_now = common_service_fun_api.classify_symbol(real_time_quotes_now)
162
162
  if symbol is not None:
163
163
  real_time_quotes_now = real_time_quotes_now.loc[real_time_quotes_now['symbol'] == symbol]
@@ -6,7 +6,7 @@ end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
- import mns_common.api.em.east_money_etf_api as east_money_etf_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  from loguru import logger
11
11
  import time
12
12
  import mns_common.utils.data_frame_util as data_frame_util
@@ -23,7 +23,7 @@ mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
23
23
 
24
24
 
25
25
  def sync_etf_one_minute(data_tag):
26
- etf_real_time_quotes = east_money_etf_api.get_etf_real_time_quotes()
26
+ etf_real_time_quotes = em_stock_info_api.get_etf_info()
27
27
  etf_real_time_quotes = classify_symbol(etf_real_time_quotes)
28
28
  etf_real_time_quotes['symbol'] = etf_real_time_quotes.apply(
29
29
  lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
@@ -6,7 +6,7 @@ end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
- import mns_common.api.em.east_money_debt_api as east_money_debt_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  from loguru import logger
11
11
  import time
12
12
  import mns_common.utils.data_frame_util as data_frame_util
@@ -23,7 +23,7 @@ mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
23
23
 
24
24
 
25
25
  def sync_kzz_one_minute(data_tag):
26
- debt_real_time_quotes = east_money_debt_api.get_debt_real_time_quotes()
26
+ debt_real_time_quotes = em_stock_info_api.get_kzz_info()
27
27
  debt_real_time_quotes = classify_symbol(debt_real_time_quotes)
28
28
  debt_real_time_quotes['symbol'] = debt_real_time_quotes.apply(
29
29
  lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
@@ -84,4 +84,4 @@ def classify_symbol_one(market):
84
84
 
85
85
 
86
86
  if __name__ == '__main__':
87
- sync_kzz_one_minute()
87
+ 3()
@@ -6,7 +6,7 @@ end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import mns_common.component.common_service_fun_api as common_service_fun_api
9
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  from loguru import logger
11
11
  import time
12
12
  import mns_common.utils.data_frame_util as data_frame_util
@@ -14,7 +14,7 @@ import mns_common.component.common_service_fun_api as common_service_fun_api
14
14
  import pandas as pd
15
15
  from loguru import logger
16
16
  import mns_common.utils.data_frame_util as data_frame_util
17
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
17
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
18
18
  import time
19
19
 
20
20
  mongodb_util_27017 = MongodbUtil('27017')
@@ -339,7 +339,7 @@ def check_columns(profit_df):
339
339
  return profit_df
340
340
 
341
341
 
342
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
342
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
343
343
 
344
344
  if __name__ == '__main__':
345
345
  get_em_profit_api('600519')
@@ -9,7 +9,7 @@ sys.path.append(project_path)
9
9
  import mns_common.component.common_service_fun_api as common_service_fun_api
10
10
  from mns_common.db.MongodbUtil import MongodbUtil
11
11
  import mns_common.constant.db_name_constant as db_name_constant
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  import mns_common.utils.data_frame_util as data_frame_util
14
14
 
15
15
  mongodb_util = MongodbUtil('27017')
@@ -5,7 +5,7 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- import mns_common.api.em.east_money_stock_hk_api as east_money_stock_hk_api
8
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
9
9
  import akshare as ak
10
10
  import mns_common.constant.db_name_constant as db_name_constant
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -48,8 +48,7 @@ def get_ths_cookie():
48
48
 
49
49
  # https://quote.eastmoney.com/center/gridlist.html#hk_stocks
50
50
  def sync_hk_company_info():
51
- cookie = get_em_cookie()
52
- hk_real_time_df = east_money_stock_hk_api.get_hk_real_time_quotes(cookie)
51
+ hk_real_time_df = em_stock_info_api.get_hk_stock_info()
53
52
 
54
53
  hk_real_time_df = hk_real_time_df[[
55
54
  "symbol",
@@ -6,7 +6,7 @@ end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
- import mns_common.api.em.east_money_stock_hk_api as east_money_stock_hk_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  import akshare as ak
11
11
  import mns_common.constant.db_name_constant as db_name_constant
12
12
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -38,8 +38,7 @@ def get_em_cookie():
38
38
 
39
39
 
40
40
  def sync_hk_company_industry():
41
- cookie = get_em_cookie()
42
- hk_real_time_df = east_money_stock_hk_api.get_hk_real_time_quotes(cookie)
41
+ hk_real_time_df = em_stock_info_api.get_hk_stock_info()
43
42
 
44
43
  hk_real_time_df = hk_real_time_df[[
45
44
  "symbol",
@@ -8,7 +8,7 @@ sys.path.append(project_path)
8
8
  import akshare as ak
9
9
  import mns_common.utils.data_frame_util as data_frame_util
10
10
  import pandas as pd
11
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
11
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
12
12
  import mns_common.component.company.company_common_service_api as company_common_service_api
13
13
  from loguru import logger
14
14
  from datetime import datetime
@@ -9,7 +9,7 @@ sys.path.append(project_path)
9
9
  import pandas as pd
10
10
  import mns_common.utils.date_handle_util as date_handle_util
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  from loguru import logger
14
14
  import threading
15
15
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
@@ -109,7 +109,7 @@ def multi_threaded_k_line_sync(str_day):
109
109
 
110
110
  de_list_company_df = mongodb_util.find_all_data(db_name_constant.DE_LIST_STOCK)
111
111
  de_list_company_df = de_list_company_df.loc[de_list_company_df['de_list_date'] < str_day]
112
- real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
112
+ real_time_quotes_now = em_stock_info_api.get_a_stock_info()
113
113
  real_time_quotes_now = real_time_quotes_now.loc[
114
114
  ~(real_time_quotes_now['symbol'].isin(de_list_company_df['symbol']))]
115
115
 
@@ -7,7 +7,7 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
9
  from loguru import logger
10
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
10
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
12
12
  import mns_common.utils.date_handle_util as date_handle_util
13
13
  import mns_common.component.common_service_fun_api as common_service_fun_api
@@ -7,7 +7,7 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
9
  from loguru import logger
10
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
10
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
12
12
  import mns_common.utils.date_handle_util as date_handle_util
13
13
  import mns_common.component.common_service_fun_api as common_service_fun_api
@@ -71,7 +71,7 @@ def sync_all_daily_data(period='daily',
71
71
  symbol_list=None):
72
72
  create_db_index(hq_col)
73
73
 
74
- real_time_quotes_now_es = east_money_stock_api.get_real_time_quotes_all_stocks()
74
+ real_time_quotes_now_es = em_stock_info_api.get_a_stock_info()
75
75
  # exclude b symbol
76
76
  real_time_quotes_now = common_service_fun_api.exclude_b_symbol(real_time_quotes_now_es.copy())
77
77
 
@@ -13,7 +13,7 @@ mongodb_util = MongodbUtil('27017')
13
13
 
14
14
 
15
15
  def clean_history_data():
16
- query = {"$and": [{"trade_date": {"$gte": '2023-11-06'}}, {"trade_date": {"$lte": '2025-01-12'}}]}
16
+ query = {"$and": [{"trade_date": {"$gte": '2023-11-06'}}, {"trade_date": {"$lte": '2024-09-12'}}]}
17
17
  trade_date_list_df = mongodb_util.find_query_data('trade_date_list', query)
18
18
  trade_date_list_df = trade_date_list_df.sort_values(by=['trade_date'], ascending=False)
19
19
  for trade_data_one in trade_date_list_df.itertuples():
@@ -7,7 +7,7 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
9
  from loguru import logger
10
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
10
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
12
12
  import mns_common.component.common_service_fun_api as common_service_fun_api
13
13
  import mns_common.constant.db_name_constant as db_name_constant
@@ -5,7 +5,7 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
8
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
9
9
  from datetime import datetime
10
10
  import mns_common.component.self_choose.black_list_service_api as black_list_service_api
11
11
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
@@ -48,7 +48,7 @@ def transactions_check_task():
48
48
 
49
49
  now_day_number = float(now_day_str)
50
50
 
51
- real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
51
+ real_time_quotes_now = em_stock_info_api.get_a_stock_info()
52
52
  real_time_quotes_now['list_date'] = real_time_quotes_now['list_date'].fillna(99999999)
53
53
  real_time_quotes_now = real_time_quotes_now.loc[real_time_quotes_now['list_date'] <= now_day_number]
54
54
  real_time_quotes_now = common_service_fun_api.classify_symbol(real_time_quotes_now)
@@ -109,10 +109,10 @@ def update_position_status(symbol, sell_entrust_no, str_day):
109
109
  mongodb_util.update_many(update_query, new_values, db_name_constant.POSITION_STOCK)
110
110
 
111
111
 
112
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
112
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
113
113
 
114
114
  if __name__ == '__main__':
115
115
  sell_price_01 = trade_price_service_api.get_trade_price('002336',PriceEnum.SEll_PRICE_LIMIT.price_code)
116
116
  while True:
117
- real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
117
+ real_time_quotes_now = em_stock_info_api.get_a_stock_info()
118
118
  auto_sell_stock(real_time_quotes_now)
@@ -9,7 +9,7 @@ import pandas as pd
9
9
  from loguru import logger
10
10
  import mns_common.component.common_service_fun_api as common_service_fun_api
11
11
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  import mns_common.utils.date_handle_util as date_handle_util
14
14
  import mns_common.component.company.company_common_service_api as company_common_service_api
15
15
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -5,7 +5,7 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
8
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
9
9
  import mns_common.component.common_service_fun_api as common_service_fun_api
10
10
  import mns_scheduler.k_line.month_week_daily.daily_week_month_line_sync as daily_week_month_line_sync
11
11
  from datetime import datetime
@@ -16,7 +16,7 @@ import mns_common.component.common_service_fun_api as common_service_fun_api
16
16
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
17
17
  import mns_common.api.ths.zt.ths_stock_zt_pool_v2_api as ths_stock_zt_pool_v2_api
18
18
  import mns_common.component.zt.zt_common_service_api as zt_common_service_api
19
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
19
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
20
20
  from datetime import datetime
21
21
  import mns_common.api.ths.company.ths_company_info_api as ths_company_info_api
22
22
  import mns_common.component.cookie.cookie_info_service as cookie_info_service
@@ -169,7 +169,7 @@ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
169
169
  now_date = datetime.now()
170
170
  now_day = now_date.strftime('%Y-%m-%d')
171
171
  if now_day == str_day:
172
- real_time_quotes_all_stocks_df = east_money_stock_api.get_real_time_quotes_all_stocks()
172
+ real_time_quotes_all_stocks_df = em_stock_info_api.get_a_stock_info()
173
173
  real_time_quotes_all_stocks_df = real_time_quotes_all_stocks_df.loc[
174
174
  (real_time_quotes_all_stocks_df['wei_bi'] == 100) & (real_time_quotes_all_stocks_df['chg'] >= 9)]
175
175
  miss_zt_data_df = real_time_quotes_all_stocks_df.loc[~(
@@ -206,7 +206,7 @@ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
206
206
 
207
207
 
208
208
  if __name__ == '__main__':
209
- save_zt_info('2024-12-20')
209
+ save_zt_info('2025-04-17')
210
210
  # from datetime import datetime
211
211
  #
212
212
  # if __name__ == '__main__':
@@ -9,7 +9,7 @@ import mns_common.api.ths.zt.ths_stock_zt_pool_api as ths_stock_zt_pool_api
9
9
  from datetime import datetime
10
10
  import mns_common.utils.data_frame_util as data_frame_util
11
11
  import pandas as pd
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
14
14
  import mns_common.component.common_service_fun_api as common_service_fun_api
15
15
  from loguru import logger
@@ -26,7 +26,7 @@ import mns_scheduler.zt.connected_boards.zt_five_boards_sync_api as zt_five_boar
26
26
  import mns_scheduler.zt.zt_pool.em_zt_pool_sync_api as em_zt_pool_sync_api
27
27
  import mns_scheduler.k_line.clean.k_line_info_clean_task as k_line_info_clean_service
28
28
  import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_choose_api
29
- import mns_common.api.em.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
29
+ import mns_common.api.em.gd.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
30
30
  import \
31
31
  mns_scheduler.concept.ths.update_concept_info.sync_one_concept_all_symbols_api as sync_one_concept_all_symbols_api
32
32
  import \
@@ -56,7 +56,7 @@ import mns_scheduler.zt.zt_pool.update_null_zt_reason_api as update_null_zt_reas
56
56
  import mns_scheduler.trade.tfp.stock_tfp_info_sync as stock_tfp_info_sync
57
57
  import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync_service
58
58
  import mns_scheduler.k_line.year_quarter.year_quarter_line_sync as year_quarter_line_sync
59
- import mns_scheduler.db.task_handle_service as task_handle_service
59
+ import mns_common.component.task.real_time_data_sync_check as real_time_data_sync_check
60
60
  import mns_scheduler.extraIncome.one_minute.one_minute_sync_task as one_minute_sync_task
61
61
 
62
62
 
@@ -352,13 +352,13 @@ def sync_all_interactive_questions():
352
352
  # 重开定时任务同步
353
353
  def real_time_sync_task_open():
354
354
  logger.info("开启实时行情同步任务")
355
- task_handle_service.real_time_sync_task_open()
355
+ real_time_data_sync_check.real_time_sync_task_open()
356
356
 
357
357
 
358
358
  # 关闭实时行情任务
359
359
  def real_time_sync_task_close():
360
360
  logger.info("关闭实时行情同步任务")
361
- task_handle_service.real_time_sync_task_close()
361
+ real_time_data_sync_check.real_time_sync_task_close()
362
362
 
363
363
 
364
364
  # 打开交易客户端
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.8.8
3
+ Version: 1.2.9.0
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=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
6
6
  mns_scheduler/company_info/announce/company_announce_sync_service.py,sha256=O0x0dqqnCmzzFenw4fShzWPAi_wegtvAZ9EB0ubrvnM,2808
7
7
  mns_scheduler/company_info/base/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
8
- mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=D6puyEfh0JtS7grQ4OQ1AK2c4eDXlhOHFAOIEfNUMUM,20548
8
+ mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=OCQ84roptUyHb3l9l54H669mvwSZSPMC8oQ-jli0_Ss,20528
9
9
  mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=W3Nj9st45efx8cy_42PRTcOXijWKnkO1-ZFRyyfR3S0,1587
10
10
  mns_scheduler/company_info/clean/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
11
11
  mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=gykN2aFfjBQoGxux3otM9v_zbD_wbv7z0CqAX_hzG6U,6104
@@ -13,8 +13,10 @@ mns_scheduler/company_info/constant/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6L
13
13
  mns_scheduler/company_info/constant/company_constant_data.py,sha256=v0PraTBSQMl1pM6QM2tFGxEcXBJ_MkMChMD2nmrxXsQ,22456
14
14
  mns_scheduler/company_info/de_list_stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
15
15
  mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=GCp6hlvO-SuH1oIpEsYZwEnGUOa6fXb2D7CqAUYXKQA,1993
16
+ mns_scheduler/company_info/em_stock_info/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
17
+ mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=IxhGp6t0Ed0Rngts1SIpYhZFjkUoRMjFlv14imgQyOI,3190
16
18
  mns_scheduler/company_info/remark/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
17
- mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=hzQ8uBK4-odbk3fA4M4IYbx1yLe34eHE7eH1ltPRtrU,2354
19
+ mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=i61eLy4Z2054K5E8a3RwWZLqwsHEwCHvtaJoEoz1T_w,2334
18
20
  mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
19
21
  mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
20
22
  mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
@@ -24,17 +26,15 @@ mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiN
24
26
  mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=mJHFdZGpkVn9xiby2eCYvapZAhQuxSfxQGrGsr3dso0,10222
25
27
  mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=Mwy2g5bXWJBbcS_qS7bY_yx7g41mIQ36GIwa0Qbrd0E,4577
26
28
  mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=WLXmy6dhKF5GJePDoj-E80KLLMwJHeDYlq8bEhGS4W4,10883
29
+ mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=O99zE0QHGedcCdY_PKWtOYhR4BCAD2hJRO7lCD7gNfg,10865
28
30
  mns_scheduler/concept/ths/sync_new_index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
29
31
  mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=wllTGr3HfP4HSg776I5v6XcMGZMrunSTJCmWwTnT1VU,7923
30
32
  mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
31
33
  mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py,sha256=wwuLfjj9AnFcHP-oQPC5AhpwgZ8IsPiNUh-Z6swcngA,1380
32
- mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=3KT-FTG337KWufTrllp_4QZv3U-UBEomUcx77t0x_eQ,9410
34
+ mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=uOB8blinBrQ2LRVxFSfOMaUn9G3PwOwEy_XaSReHhCY,9392
33
35
  mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
34
36
  mns_scheduler/db/col_move_service.py,sha256=9pOrHJ6rQuMPQdGFho1IJMEy2xvpQ20iku3p20MuAhg,4238
35
37
  mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
36
- mns_scheduler/db/real_time_task_check.py,sha256=OrzDWPgzC40-Hbw5hUlcrwNRHNmI0uNS6ZHlFcz9e_g,5036
37
- mns_scheduler/db/task_handle_service.py,sha256=KbSIZ3Kjy_UOfXMS8qOBV2gAWC_xjVSizNXKQITNv6A,2207
38
38
  mns_scheduler/db/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
39
39
  mns_scheduler/db/script/col_move_script.py,sha256=0WNv0xbnPPKTME2_WMEPSGNT0DUWC7hS4mJ2VeNgc08,1163
40
40
  mns_scheduler/db/script/db_move/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -58,39 +58,39 @@ mns_scheduler/extraIncome/one_minute/common/__init__.py,sha256=wEg73KlZo-dU0yKGw
58
58
  mns_scheduler/extraIncome/one_minute/common/db_create_index.py,sha256=WhCAaLNrrc4nuGpa_GW6qrWyml6I-Fk4E2jJRSbUUZw,323
59
59
  mns_scheduler/extraIncome/one_minute/common/symbol_handle_util.py,sha256=W5BbmAghEXag7yv6Cwdi0augJww2uMbHn0Z7mUW7O9Y,1275
60
60
  mns_scheduler/extraIncome/one_minute/etf/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
61
- mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py,sha256=yHyBL3y2jlHuX6wR9kW3-ZPP-BTOdgY-53rK789p6cc,3700
61
+ mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py,sha256=cQtIMGSI4LK4-hvQSxt2EcK-2ydiW37s6vQeahcJrYg,3691
62
62
  mns_scheduler/extraIncome/one_minute/index/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
63
63
  mns_scheduler/extraIncome/one_minute/index/main_index_sync_task.py,sha256=AbfHfbQznNa5w6zoElmYAI3iZpFtQGMdsLQZz-_7wF8,2649
64
64
  mns_scheduler/extraIncome/one_minute/kzz/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
65
- mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py,sha256=3hbLesQkce_TeHkcIKqoNRR0TKcESo_g0tL7e_ZaeUk,3722
65
+ mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py,sha256=AR6V7T2-XJp2CHmJI_KEzBT5rIIse1T1-I1foSXkQbo,3691
66
66
  mns_scheduler/extraIncome/one_minute/stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
67
- mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py,sha256=II7yqa3FFaTZxnjV-9UTh0AD5EopQq_w-Xp4ZWAQerE,4594
67
+ mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py,sha256=cqWxt4ca4qmb0hglH7jlYt6Oy6T9-jvo9oS0oRpO1V4,4594
68
68
  mns_scheduler/extraIncome/temp/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
69
69
  mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py,sha256=XBsLl4o1Ras1zUQBkJ2BAgWtPebqAf9VUu_kLEisGmQ,4464
70
70
  mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py,sha256=A2Aa4TB2mgTHiDlW9_UpB0mdRCR_1sOTaPZKs-IBbXc,4850
71
- mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py,sha256=pSYrWf87xEUYipVd1Mnwh31DqT-uKJugMaCHM5KDElY,6250
71
+ mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py,sha256=erPGU6QydbdxVyBCGAavb3tg9fz0-ddz0-eHy2yvsMk,6250
72
72
  mns_scheduler/extraIncome/temp/tu_share_zhi_shu_sync_api.py,sha256=sAvfsIObHWsapgJP8o2YTL4D1XZiWa2tGguM6B6bgyQ,4169
73
73
  mns_scheduler/finance/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
74
74
  mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=kEZQZkxB7RF7UPH4DmHoRWfEKgI61ZN8BcNOzmBUoV0,19417
75
- mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=A_ONxC-1giGUWUhMJG1fE6jem52uJYtzlewzxPZtdd0,14270
76
- mns_scheduler/finance/finance_common_api.py,sha256=_cjNHntTgXVbsfDT5F5KtCV_QNq2gbclgZ8UxrgGP64,2471
75
+ mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=3PFPuXT-0UEe_kRUp-IiH3hIkkMAA0Jdv66IZ1ELqpY,14270
76
+ mns_scheduler/finance/finance_common_api.py,sha256=HLIIKvCbcwNNNUw_01z6VcVJWxt_Q-I0aHIzksuUhNk,2471
77
77
  mns_scheduler/finance/sync_financial_report_service_api.py,sha256=7ttWeBJOhA76CIz-K0K0jxN5z2-0-_c6-AWEFGFyMIQ,6632
78
78
  mns_scheduler/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
79
- mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=vV7EKrok0VXROjZFYT5k3eli63jVhjryxUwexOJ5YFs,3750
80
- mns_scheduler/hk/hk_industry_info_sync_service_api.py,sha256=iBtoAOaHaVPiTmO4KZA-ZMdxGvhdZ3hymZkaqUn9J3A,2329
79
+ mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=vIxsl41rJPVvPVw2BTE7b0VZHFiuBecc3i3Gn0TKrFs,3696
80
+ mns_scheduler/hk/hk_industry_info_sync_service_api.py,sha256=Pf2uRGqjhibsBoOFJlUqj2WxujmIPysTAVOeffj3iWM,2275
81
81
  mns_scheduler/industry/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
82
82
  mns_scheduler/industry/ths/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
83
83
  mns_scheduler/industry/ths/ths_industry_index_service.py,sha256=FcP4J0p3HP2tqD19dNmQfcShTl0hY7Ke7DJWat1MZFE,2686
84
84
  mns_scheduler/industry/ths/ths_industry_sync_service.py,sha256=gAzvEG6rHdi0AXmo5vFxeJE81H1bqhE2kMLxZLW0nMQ,2762
85
85
  mns_scheduler/irm/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
86
- mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=mTwD7ZYKk9XlA3KD1SQWz2A8-OKAH2mdUl2A9Pzwrz8,9560
86
+ mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=Kyd2g9vfje3CUGtlYX3y6PcHYMt8tAAqImBzz7NNIj0,9560
87
87
  mns_scheduler/irm/api/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
88
88
  mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py,sha256=iXy_FukyyQ_ZcU1WcT_DSpZ8-aEtDrTEcyiiIlFzXho,4931
89
89
  mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py,sha256=6iZpdQ1pARchL3kV-oEVPDc9Ja0ciQBjBntVmxseeNE,6199
90
90
  mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
91
91
  mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
92
92
  mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=ZTnSpQ2zKnNPWCkHKPJkLdkxVK29szgufxNV6uvXG7s,1344
93
- mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=LrhSOVNCYNZ8bAP3xXfi930as_P9IJfYIuoA-ovG3N0,8870
93
+ mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=htllTDOmzJLhhdpHTEgAn03iSlJT7D8GQOhhdnwDktc,8852
94
94
  mns_scheduler/k_line/clean/daily/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
95
95
  mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=ZOqaiQuOSFJsKZSW8GEQf1UkveKvg66f-bsHGAybvAM,20447
96
96
  mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=AmnswvYlkO0gadMongt089WKWXdd-Cnku5AO0HSgDG0,6906
@@ -100,12 +100,12 @@ mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha25
100
100
  mns_scheduler/k_line/hot_stocks/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
101
101
  mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=whm-pYhAd_7OKurIw2cteBwWse5vVXS88lcrTbbcSaE,2628
102
102
  mns_scheduler/k_line/month_week_daily/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
103
- mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py,sha256=RC887GGTOal_MpGzJvZVlfQI2m3vK_L5xVBjKV9SCyg,4218
104
- mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py,sha256=czNFTSx-1_xJF4BmfiY7SSxrfMESqjITmTyZL_AlyVo,6026
103
+ mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py,sha256=pKFFnMT93TuIXquJfLw3679U-XHkzXtD45w-5V6S_E4,4218
104
+ mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py,sha256=WAznTr6AZOqukz_gJJ745fuWtoJulEBEAg_pJUSRryk,6008
105
105
  mns_scheduler/k_line/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
106
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=VD2cc1sGmPl5WsiX1SRH0S3zRGe-PnztSVJr5YKunmU,1663
106
+ mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=7pfkcenet9Y7VQ98Gjj6a-TBkKd8fEmFoECEzPC5AYU,1663
107
107
  mns_scheduler/k_line/year_quarter/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
108
- mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py,sha256=t7tCrjrdz4xB_0hqi5kNi9klDCk4Giymy_eWVaF0sG8,2769
108
+ mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py,sha256=TG0id2XUF1_F8S6qnBbmqjSoisGvlfoM1JmRJ4D441s,2769
109
109
  mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
110
110
  mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
111
111
  mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -135,12 +135,12 @@ mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=5ebrjFqK49j_yEMffFBCumMeBzq_
135
135
  mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
136
136
  mns_scheduler/risk/test/fix_blask_list.py,sha256=zfUUZl-RrvSCUJPIBdj27cDt3xmz8sxA-OSdVg1z8xI,1245
137
137
  mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- mns_scheduler/risk/transactions/transactions_check_api.py,sha256=o1E-Q5WJWgHPywsuIf92ngVht7nCogs6G_jkCt2iZ8U,7397
138
+ mns_scheduler/risk/transactions/transactions_check_api.py,sha256=1Tbs8GNoAmdGPqwYOEFiyFjR4ghhvZ5fz4hl5kKjyfk,7379
139
139
  mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
140
140
  mns_scheduler/self_choose/ths_self_choose_service.py,sha256=QCZ8LMwCV4awOM1wk1yPwzsVJmH1cwjV9o-OjI9n-XQ,6599
141
141
  mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
142
142
  mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
143
- mns_scheduler/trade/auto_sell_service_api.py,sha256=b-4xmW6W6cd6dMuLPD7ZJu3tUtchMcUG-p7wOMm_RRY,4640
143
+ mns_scheduler/trade/auto_sell_service_api.py,sha256=EbVVf6khUm4-gF0yxPVzMg5XfvIhiGdkmeXDY9mcNeE,4623
144
144
  mns_scheduler/trade/sync_position_api.py,sha256=deeOySGWsUbTiM2S0bb5wCSjtC59gdmwwjVZsCf3Wn4,2748
145
145
  mns_scheduler/trade/auto_login/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
146
146
  mns_scheduler/trade/auto_login/trader_auto_service.py,sha256=S2J36VrFcV8ZTQ2eeR_1c23d4eHe810kCyOINk6b6o8,686
@@ -162,7 +162,7 @@ mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9
162
162
  mns_scheduler/zt/export/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
163
163
  mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py,sha256=9LK1s2BCzsXLMAYMmiMAZsmz8iha88JVcp6SKqIW37s,4063
164
164
  mns_scheduler/zt/high_chg/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
165
- mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py,sha256=7hRfzQFhMSwdbzIg57JmX82DEW3Ig5hwZTzS_SPO0sg,13347
165
+ mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py,sha256=658-KNjjDTggvaD4dkez81hIy7wUVlLl0GaEv-iT_ow,13347
166
166
  mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py,sha256=IvP8tTtWTuMvTdIGFGLmhf9MH_Qfa8P5IpRuHfxTkdw,6351
167
167
  mns_scheduler/zt/open_data/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
168
168
  mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py,sha256=wZiqOre2UK9CxIR7dDk11DmqRY3n2_eE2pe0JfmMcjk,11616
@@ -170,14 +170,14 @@ mns_scheduler/zt/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda
170
170
  mns_scheduler/zt/script/fix_error_deal_day.py,sha256=n54pom24wCQAiHKjnVZACizb97iGWaEYtADM9R1z69g,1624
171
171
  mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=EVJrQoyujH1V6ifmZCJiqzuLx4xin2pfxLJ-bYT1Cxw,5571
172
172
  mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=EBPV8ECBBqvZOcp9poH4h7vdVMCfdauGlKlSIgLNaAE,1685
173
- mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=GLAyXQJ3bnFBe3a5qI-tXnr-gKhOyNagTeGxNn4MZmU,1862
173
+ mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=ljsJiR-Jl8wK23WSOwaa1YogpgsrhiL8B8GVF35RVw0,1862
174
174
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
175
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=A5YiAWYdbAxhlTTJ8pOStZrBbfnLF_RhntyYvN0neO8,11109
176
- mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=3OGBmWEX6G-fTuONgoB6Lu5xX0JNaWiP5FWMHIlIf-Y,10647
175
+ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=KoJr8QEkq0Kt2NrXdnOUQH4petY_WXaLr_a3bbCKigc,11091
176
+ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=CXmazwfzEGeD9Y9Yt_wCJtq8x3UDykPNzCKWbhstsqA,10647
177
177
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
178
178
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
179
- mns_scheduler/zz_task/data_sync_task.py,sha256=Pe00-bdh6Bs_g0PnIhMpQCn3oZ2N9EltO8p80mIcEho,23908
180
- mns_scheduler-1.2.8.8.dist-info/METADATA,sha256=m_nWwkMTFTtwz93Hvr17rtVVMygavKHkwc8YuFO2M-k,64
181
- mns_scheduler-1.2.8.8.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
182
- mns_scheduler-1.2.8.8.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
183
- mns_scheduler-1.2.8.8.dist-info/RECORD,,
179
+ mns_scheduler/zz_task/data_sync_task.py,sha256=0GbvYioD15IgHQlCaZpVibEBorWt7P7AX8Q8m-nxzLA,23944
180
+ mns_scheduler-1.2.9.0.dist-info/METADATA,sha256=WFAh47T5U-8uuT9U45AbXCYaWBKC-PWvon0zFH_9fhs,64
181
+ mns_scheduler-1.2.9.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
182
+ mns_scheduler-1.2.9.0.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
183
+ mns_scheduler-1.2.9.0.dist-info/RECORD,,
@@ -1,128 +0,0 @@
1
- import os
2
- import sys
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import mns_common.constant.db_name_constant as db_name_constant
9
- import mns_common.component.common_service_fun_api as common_service_fun_api
10
- import mns_common.component.cache.cache_service as cache_service
11
- import mns_common.utils.cmd_util as cmd_util
12
- import mns_common.utils.data_frame_util as data_frame_util
13
- from loguru import logger
14
- from datetime import datetime
15
- import mns_common.utils.date_handle_util as date_handle_util
16
- from mns_common.db.MongodbUtil import MongodbUtil
17
- import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
18
- import time
19
-
20
- mongodb_util = MongodbUtil('27017')
21
-
22
- MAX_NUMBER_KEY = 'max_number_key'
23
- # 定时任务 python名称
24
- REAL_TIME_SCHEDULER_NAME = "sync_realtime_quotes_task"
25
- # 实时同步 python名称
26
- REAL_TIME_TASK_NAME = "realtime_quotes_now_sync"
27
- # 实时同步 bat
28
- REAL_TIME_TASK_NAME_PATH = 'H:\\real_time_task.bat'
29
- # 定时任务 bat
30
- REAL_TIME_SCHEDULER_NAME_PATH = 'H:\\real_time_scheduler.bat'
31
-
32
-
33
- def get_real_time_max_number():
34
- number = common_service_fun_api.realtime_quotes_now_max_number(db_name_constant.REAL_TIME_QUOTES_NOW,
35
- 'number')
36
-
37
- return number
38
-
39
-
40
- # 检查数据同步最大值
41
- def check_max_number():
42
- now_max_number = get_real_time_max_number()
43
- if now_max_number == 1:
44
- return False
45
- last_minute_number = cache_service.get_cache(MAX_NUMBER_KEY)
46
- cache_service.set_cache(MAX_NUMBER_KEY, now_max_number)
47
- if last_minute_number is None:
48
- return True
49
- elif now_max_number == last_minute_number:
50
- logger.error("数据相等:{}", now_max_number)
51
- return False
52
- else:
53
- return True
54
-
55
-
56
- # 实时行情数据同步状态check
57
- def run_check_real_time_data_sync_status():
58
- now_date = datetime.now()
59
- hour = now_date.hour
60
- minute = now_date.minute
61
- str_day = now_date.strftime('%Y-%m-%d')
62
-
63
- if bool(1 - trade_date_common_service_api.is_trade_day(str_day)):
64
- return False
65
-
66
- # 关闭定时同步
67
- if (hour == 11 and minute == 31) or (hour == 9 and minute == 27):
68
- all_cmd_processes = cmd_util.get_all_process()
69
- if data_frame_util.is_empty(all_cmd_processes):
70
- return False
71
- all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
72
- if data_frame_util.is_empty(all_cmd_processes_real_time_task):
73
- return False
74
- for match_task_one in all_cmd_processes_real_time_task.itertuples():
75
- try:
76
- processes_pid = match_task_one.process_pid
77
- # 关闭当前进程
78
- cmd_util.kill_process_by_pid(processes_pid)
79
- except BaseException as e:
80
- logger.error("关闭实时行情任务异常:{}", e)
81
-
82
- # 重开定时同步
83
- if (hour == 12 and minute == 59) or (hour == 9 and minute == 29):
84
- all_cmd_processes = cmd_util.get_all_process()
85
- if data_frame_util.is_empty(all_cmd_processes):
86
- return False
87
- all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
88
- if data_frame_util.is_empty(all_cmd_processes_real_time_task):
89
- # 重开定时任务
90
- cmd_util.open_bat_file(REAL_TIME_SCHEDULER_NAME_PATH)
91
- # 防止太快重开多个
92
- time.sleep(3)
93
-
94
- # 普通轮训
95
-
96
- if bool(1 - date_handle_util.is_trade_time(now_date)):
97
- return False
98
- flag = check_max_number()
99
- if bool(1 - flag):
100
- all_cmd_processes = cmd_util.get_all_process()
101
- if data_frame_util.is_empty(all_cmd_processes):
102
- return False
103
- all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
104
- if data_frame_util.is_empty(all_cmd_processes_real_time_task):
105
- return None
106
- for match_task_one in all_cmd_processes_real_time_task.itertuples():
107
- try:
108
- processes_pid = match_task_one.process_pid
109
- # 关闭当前进程
110
- cmd_util.kill_process_by_pid(processes_pid)
111
- # 清空临时数据表
112
- mongodb_util.remove_all_data(db_name_constant.REAL_TIME_QUOTES_NOW)
113
-
114
- except BaseException as e:
115
- logger.error("关闭实时行情任务异常:{}", e)
116
- # 重开任务进程
117
- cmd_util.open_bat_file(REAL_TIME_TASK_NAME_PATH)
118
-
119
-
120
- def get_real_time_quotes_task(all_cmd_processes):
121
- return all_cmd_processes[
122
- (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))
123
- | (all_cmd_processes['total_info'].str.contains(REAL_TIME_TASK_NAME, case=False, na=False))]
124
-
125
-
126
- if __name__ == '__main__':
127
- while True:
128
- run_check_real_time_data_sync_status()
@@ -1,64 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
-
9
- import mns_common.utils.cmd_util as cmd_util
10
- import mns_common.utils.data_frame_util as data_frame_util
11
- from loguru import logger
12
- from mns_common.db.MongodbUtil import MongodbUtil
13
- import time
14
-
15
- mongodb_util = MongodbUtil('27017')
16
-
17
- MAX_NUMBER_KEY = 'max_number_key'
18
- # 定时任务 python名称
19
- REAL_TIME_SCHEDULER_NAME = "realtime_quotes_now_sync"
20
-
21
- # 实时同步 bat
22
- REAL_TIME_TASK_NAME_PATH = 'H:\\real_time_task.bat'
23
-
24
-
25
- # 关闭实时行情任务
26
- def real_time_sync_task_close():
27
- all_cmd_processes = cmd_util.get_all_process()
28
- if data_frame_util.is_empty(all_cmd_processes):
29
- return False
30
- all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
31
- if data_frame_util.is_empty(all_cmd_processes_real_time_task):
32
- return False
33
- for match_task_one in all_cmd_processes_real_time_task.itertuples():
34
- try:
35
- processes_pid = match_task_one.process_pid
36
- # 关闭当前进程
37
- cmd_util.kill_process_by_pid(processes_pid)
38
- except BaseException as e:
39
- logger.error("关闭实时行情任务异常:{}", e)
40
-
41
-
42
- # 重开定时任务同步
43
- def real_time_sync_task_open():
44
- all_cmd_processes = cmd_util.get_all_process()
45
- if data_frame_util.is_empty(all_cmd_processes):
46
- return False
47
- all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
48
- if data_frame_util.is_empty(all_cmd_processes_real_time_task):
49
- # 重开定时任务
50
- cmd_util.open_bat_file(REAL_TIME_TASK_NAME_PATH)
51
- # 防止太快重开多个
52
- time.sleep(3)
53
-
54
-
55
- def get_real_time_quotes_task(all_cmd_processes):
56
- return all_cmd_processes[
57
- (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))
58
- | (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))]
59
-
60
-
61
- if __name__ == '__main__':
62
- real_time_sync_task_close()
63
- time.sleep(3)
64
- real_time_sync_task_open()