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

@@ -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.8.9
4
4
 
@@ -33,8 +33,6 @@ mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.p
33
33
  mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
34
34
  mns_scheduler/db/col_move_service.py,sha256=9pOrHJ6rQuMPQdGFho1IJMEy2xvpQ20iku3p20MuAhg,4238
35
35
  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
36
  mns_scheduler/db/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
39
37
  mns_scheduler/db/script/col_move_script.py,sha256=0WNv0xbnPPKTME2_WMEPSGNT0DUWC7hS4mJ2VeNgc08,1163
40
38
  mns_scheduler/db/script/db_move/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -176,8 +174,8 @@ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=A5YiAWYdbAxhlTTJ8pOStZrBb
176
174
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=3OGBmWEX6G-fTuONgoB6Lu5xX0JNaWiP5FWMHIlIf-Y,10647
177
175
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
178
176
  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,,
177
+ mns_scheduler/zz_task/data_sync_task.py,sha256=FFCKHk4s3k_DvfUATxb3hEoQVXtgP2ncuJ6QbitIdHI,23941
178
+ mns_scheduler-1.2.8.9.dist-info/METADATA,sha256=wv0wVYqCeVgDMmpdgXQ1FzG7J90Wkc78P2FbqaP6rYQ,64
179
+ mns_scheduler-1.2.8.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
180
+ mns_scheduler-1.2.8.9.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
181
+ mns_scheduler-1.2.8.9.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()