mns-scheduler 1.2.4.8__py3-none-any.whl → 1.2.5.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.

@@ -15,17 +15,18 @@ from datetime import datetime
15
15
  import mns_common.utils.date_handle_util as date_handle_util
16
16
  from mns_common.db.MongodbUtil import MongodbUtil
17
17
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
18
+ import time
18
19
 
19
20
  mongodb_util = MongodbUtil('27017')
20
21
 
21
22
  MAX_NUMBER_KEY = 'max_number_key'
22
- # 实时行情同步任务 python名称
23
+ # 定时任务 python名称
23
24
  REAL_TIME_SCHEDULER_NAME = "sync_realtime_quotes_task"
24
- # 实时行情补偿任务 python名称
25
+ # 实时同步 python名称
25
26
  REAL_TIME_TASK_NAME = "realtime_quotes_now_sync"
26
- #
27
+ # 实时同步 bat
27
28
  REAL_TIME_TASK_NAME_PATH = 'H:\\real_time_task.bat'
28
- # 定时任务
29
+ # 定时任务 bat
29
30
  REAL_TIME_SCHEDULER_NAME_PATH = 'H:\\real_time_scheduler.bat'
30
31
 
31
32
 
@@ -52,13 +53,15 @@ def check_max_number():
52
53
  # 实时行情数据同步状态check
53
54
  def run_check_real_time_data_sync_status():
54
55
  now_date = datetime.now()
55
- hour = datetime.hour
56
- minute = datetime.minute
56
+ hour = now_date.hour
57
+ minute = now_date.minute
58
+ second = now_date.second
57
59
  str_day = now_date.strftime('%Y-%m-%d')
58
60
 
59
61
  if bool(1 - trade_date_common_service_api.is_trade_day(str_day)):
60
62
  return False
61
63
 
64
+ # 关闭上午定时同步
62
65
  if hour == 11 and minute == 31:
63
66
  all_cmd_processes = cmd_util.get_all_process()
64
67
  if data_frame_util.is_empty(all_cmd_processes):
@@ -74,22 +77,19 @@ def run_check_real_time_data_sync_status():
74
77
  except BaseException as e:
75
78
  logger.error("关闭实时行情任务异常:{}", e)
76
79
 
80
+ # 重开下午定时同步
77
81
  if hour == 12 and minute == 59:
78
82
  all_cmd_processes = cmd_util.get_all_process()
79
83
  if data_frame_util.is_empty(all_cmd_processes):
80
84
  return False
81
85
  all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
82
86
  if data_frame_util.is_empty(all_cmd_processes_real_time_task):
83
- return False
84
- for match_task_one in all_cmd_processes_real_time_task.itertuples():
85
- try:
86
- processes_pid = match_task_one.process_pid
87
- # 关闭当前进程
88
- cmd_util.kill_process_by_pid(processes_pid)
89
- except BaseException as e:
90
- logger.error("关闭实时行情任务异常:{}", e)
91
87
  # 重开定时任务
92
- cmd_util.open_bat_file(REAL_TIME_SCHEDULER_NAME_PATH)
88
+ cmd_util.open_bat_file(REAL_TIME_SCHEDULER_NAME_PATH)
89
+ # 防止太快重开多个
90
+ time.sleep(3)
91
+
92
+ # 普通轮训
93
93
 
94
94
  if bool(1 - date_handle_util.is_trade_time(now_date)):
95
95
  return False
@@ -15,6 +15,7 @@ remote_mongodb_util = RemoteMongodbUtil('27017')
15
15
  local_mongodb_util = LocalMongodbUtil('27017')
16
16
 
17
17
  col_list = [
18
+ 'company_info',
18
19
  'company_remark_info',
19
20
  'company_holding_info',
20
21
  'industry_concept_remark',
@@ -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,36 @@
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
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ from loguru import logger
10
+
11
+ mongodb_util_27017 = MongodbUtil('27017')
12
+ mongodb_util_27019 = MongodbUtil('27019')
13
+
14
+
15
+ def update_col_data():
16
+ query = {"$and": [{'trade_date': {'$lte': '2024-05-23'}},
17
+ {'trade_date': {'$gte': '2022-07-02'}}]}
18
+ trade_date_list_df = mongodb_util_27017.find_query_data('trade_date_list', query)
19
+ trade_date_list_df = trade_date_list_df.sort_values(by=['trade_date'], ascending=True)
20
+ for trade_one in trade_date_list_df.itertuples():
21
+ col_name = 'realtime_quotes_now_' + trade_one.trade_date
22
+ new_values = {'$unset': {
23
+ 'classification': '',
24
+ 'medium_order_net_inflow': '',
25
+ 'small_order_net_inflow': '',
26
+ 'str_day': '',
27
+ 'list_date': '',
28
+ 'amount_level': '',
29
+ 'name': '', 'industry': '', 'concept': ''}}
30
+
31
+ mongodb_util_27019.update_many({}, new_values, col_name)
32
+ logger.info("完成集合数据更新:{}", col_name)
33
+
34
+
35
+ if __name__ == '__main__':
36
+ update_col_data()
@@ -200,23 +200,23 @@ def calculate_exchange_and_k_line_avg_param(stock_qfq_daily):
200
200
 
201
201
  # 收盘价格与均线差值
202
202
  stock_qfq_daily['close_difference_five'] = round(
203
- 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_five']) / stock_qfq_daily['close'],
203
+ 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_five']) / stock_qfq_daily['avg_five'],
204
204
  2)
205
205
 
206
206
  stock_qfq_daily['close_difference_ten'] = round(
207
- 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_ten']) / stock_qfq_daily['close'],
207
+ 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_ten']) / stock_qfq_daily['avg_ten'],
208
208
  2)
209
209
 
210
210
  stock_qfq_daily['close_difference_twenty'] = round(
211
- 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_twenty']) / stock_qfq_daily['close'],
211
+ 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_twenty']) / stock_qfq_daily['avg_twenty'],
212
212
  2)
213
213
 
214
214
  stock_qfq_daily['close_difference_thirty'] = round(
215
- 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_thirty']) / stock_qfq_daily['close'],
215
+ 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_thirty']) / stock_qfq_daily['avg_thirty'],
216
216
  2)
217
217
 
218
218
  stock_qfq_daily['close_difference_sixty'] = round(
219
- 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_sixty']) / stock_qfq_daily['close'],
219
+ 100 * (stock_qfq_daily['close'] - stock_qfq_daily['avg_sixty']) / stock_qfq_daily['avg_sixty'],
220
220
  2)
221
221
 
222
222
  stock_qfq_daily = stock_qfq_daily[[
@@ -26,5 +26,5 @@ def clean_history_data():
26
26
 
27
27
  if __name__ == '__main__':
28
28
  # 001389 001359
29
- k_line_info_clean_task.sync_k_line_info('2024-07-12', ['300784'])
29
+ k_line_info_clean_task.sync_k_line_info('2025-01-22', ['301099'])
30
30
  # clean_history_data()
@@ -0,0 +1,41 @@
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
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ from loguru import logger
10
+ import mns_common.utils.date_handle_util as date_handle_util
11
+ mongodb_util = MongodbUtil('27017')
12
+
13
+ from mns_scheduler.db.script.sync.remote_mongo_util import RemoteMongodbUtil
14
+
15
+
16
+ remote_mongodb_util = RemoteMongodbUtil('27017')
17
+
18
+
19
+ def fix_error_deal_days(db_name):
20
+ realtime_quotes_now_zt_new_kc_open_df = mongodb_util.find_query_data(db_name, {})
21
+ realtime_quotes_now_zt_new_kc_open_df['id_key'] = realtime_quotes_now_zt_new_kc_open_df['_id']
22
+ for stock_one in realtime_quotes_now_zt_new_kc_open_df.itertuples():
23
+ try:
24
+ symbol = stock_one.symbol
25
+ str_day = stock_one.str_day
26
+ query = {'symbol': symbol, 'date': {"$lt": date_handle_util.no_slash_date(str_day)}}
27
+ deal_days = mongodb_util.count(query, 'stock_qfq_daily')
28
+ new_values = {"$set": {"deal_days": deal_days}}
29
+ id_key = stock_one.id_key
30
+ update_query = {'_id': id_key}
31
+ mongodb_util.update_many(update_query, new_values, db_name)
32
+ logger.info("更新到:{},{}", symbol, str_day)
33
+ except BaseException as e:
34
+ logger.error("出现异常:{},{},{}", symbol, str_day, e)
35
+
36
+
37
+ if __name__ == '__main__':
38
+ # db_name_0 = 'realtime_quotes_now_zt_new_kc_open'
39
+ db_name_01 = 'stock_high_chg_pool'
40
+ # fix_error_deal_days(db_name_0)
41
+ fix_error_deal_days(db_name_01)
@@ -36,4 +36,4 @@ def sync_his_zt_pool_data(begin_day, end_day):
36
36
 
37
37
 
38
38
  if __name__ == '__main__':
39
- sync_high_chg_pool_service.sync_stock_high_chg_pool_list('2024-12-26', None)
39
+ sync_high_chg_pool_service.sync_stock_high_chg_pool_list('2025-01-09', None)
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.4.8
3
+ Version: 1.2.5.1
4
4
 
@@ -35,14 +35,16 @@ mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.p
35
35
  mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
36
36
  mns_scheduler/db/col_move_service.py,sha256=tyWth-68MVs3lc6PTW-2SygD98_4_qUaCYZ6tX1JUp8,4230
37
37
  mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
38
- mns_scheduler/db/real_time_task_check.py,sha256=3b9NGTWV4pGXFtTUmVsT9jNTzIth_5FICgbgHTob3Aw,5096
38
+ mns_scheduler/db/real_time_task_check.py,sha256=bf3Ov6fLL332u7yWyDC3ZLvVWhM6W9i47LapkfP1w7c,4902
39
39
  mns_scheduler/db/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
40
40
  mns_scheduler/db/script/col_move_script.py,sha256=0WNv0xbnPPKTME2_WMEPSGNT0DUWC7hS4mJ2VeNgc08,1163
41
41
  mns_scheduler/db/script/sync/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
42
42
  mns_scheduler/db/script/sync/local_mongo_util.py,sha256=MFG-S7aUBLKe4tkhKNklUzpiZef2n078YXd39dfOMy0,7540
43
- mns_scheduler/db/script/sync/remote_data_sync_to_local.py,sha256=7fp2L6TkY2mdBZb0m_oQbWQsp8QjvKhKOH6h_xU0jwI,1652
43
+ mns_scheduler/db/script/sync/remote_data_sync_to_local.py,sha256=2iGs-WTPt9hJK9IJLX5ChUTaWiKEpx0MikBsF-6Mp_o,1673
44
44
  mns_scheduler/db/script/sync/remote_mongo_util.py,sha256=-BCR2zeQ9z0zeZg6wO0aCS4bGnsGIohFRH7QR8XXJSo,10966
45
45
  mns_scheduler/db/script/sync/sync_hui_ce_test_data.py,sha256=Ei7RDlLbdUvywW901uxxvaHpqrJZFxCQX4FKFHpyoNc,2062
46
+ mns_scheduler/db/script/update/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
47
+ mns_scheduler/db/script/update/update_col_field.py,sha256=2XeiKodVgR19IgJKMXZmM7MOLgeUyli15qo58gtYHY8,1274
46
48
  mns_scheduler/debt/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
47
49
  mns_scheduler/debt/kzz_bond_info_sync.py,sha256=3o0Y4FBxP3AOXwf7Z7jVO1N_DcqxeOVqcgMM3y7E4uo,1336
48
50
  mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -69,7 +71,7 @@ mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlI
69
71
  mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=2GgRc9Nb9wXMueoZhl9egYzjQP_NPhBCvj-XYcTlG9w,1238
70
72
  mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=ey6xTXAxxXh8_8cPzsWmUtVmG8Sd7jXFbpRpTrFrLDo,7622
71
73
  mns_scheduler/k_line/clean/daily/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
72
- mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=j00d0LFZIjl5iabYnDOvU-aGRHgUI8mVaH__RmR0ZM8,18385
74
+ mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=lT_KOhph9qLQGBoy7THU7SuPLQLQQlaNzTf2cMKnnNY,18404
73
75
  mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=BOzE5smjgJyUPdNvV4CUmN2phHT1VCtusosq7uhrGCw,6654
74
76
  mns_scheduler/k_line/clean/week_month/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
75
77
  mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=4qInTtReDd77Jzb7ngme8yXHRd6INSbSCq84lhS3ScI,4862
@@ -80,7 +82,7 @@ mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UM
80
82
  mns_scheduler/k_line/sync/bfq_k_line_sync.py,sha256=i2NNdp4uVa-kiqQvOaY6odd8-DmQtlejeMXeVklKOIs,4067
81
83
  mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=SHAvMkDW-2TKEC4wWkMdiOQWa4Ktc0Umm59OlceK1dg,5795
82
84
  mns_scheduler/k_line/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
83
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=2s0UW2dHGS_k25Rl9CeB7XZtbYRxWaHSp9Se5Okk7EI,1173
85
+ mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=6_KKdFSRdkA9LnkkCc72Y1ILKdLY-VuKvMlHBetSSU8,1173
84
86
  mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
85
87
  mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
86
88
  mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -138,8 +140,9 @@ mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py,sha256=IvP8t
138
140
  mns_scheduler/zt/open_data/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
139
141
  mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py,sha256=wZiqOre2UK9CxIR7dDk11DmqRY3n2_eE2pe0JfmMcjk,11616
140
142
  mns_scheduler/zt/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
143
+ mns_scheduler/zt/script/fix_error_deal_day.py,sha256=n54pom24wCQAiHKjnVZACizb97iGWaEYtADM9R1z69g,1624
141
144
  mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=aTrYgshcccoHv-6yoxwbO6GRtntOfeIQjfjEE_vrz3k,5571
142
- mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=HCq9syhqMPdRRrbtwVx_MVEfCvgtufUX5onIQw8F_GA,1685
145
+ mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=umPuYaXBXVUWkiGT-7svUuHMKCqjcRpzd-3JZZU3nwk,1685
143
146
  mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=bhoIGDWTI3w0YKVfIAVNHWpUrYqJYDMGPt-1i3d_Zmw,1850
144
147
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
145
148
  mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=A5YiAWYdbAxhlTTJ8pOStZrBbfnLF_RhntyYvN0neO8,11109
@@ -147,7 +150,7 @@ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W
147
150
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
148
151
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
149
152
  mns_scheduler/zz_task/data_sync_task.py,sha256=Muq8lILGn6ShNoaJc97f5lU65Ql8nW63NlxUjGnIZOA,21669
150
- mns_scheduler-1.2.4.8.dist-info/METADATA,sha256=4t3hF_HDud7_peWE-_l6I29cZfxOg7Mt76I_ERLMrlA,64
151
- mns_scheduler-1.2.4.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
152
- mns_scheduler-1.2.4.8.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
153
- mns_scheduler-1.2.4.8.dist-info/RECORD,,
153
+ mns_scheduler-1.2.5.1.dist-info/METADATA,sha256=D0U49bXPUdkY2wcsByluL6nkOLcMBA2_EFsG0FixBtQ,64
154
+ mns_scheduler-1.2.5.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
155
+ mns_scheduler-1.2.5.1.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
156
+ mns_scheduler-1.2.5.1.dist-info/RECORD,,