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

@@ -63,7 +63,7 @@ def run_check_real_time_data_sync_status():
63
63
  if bool(1 - trade_date_common_service_api.is_trade_day(str_day)):
64
64
  return False
65
65
 
66
- # 关闭上午定时同步
66
+ # 关闭定时同步
67
67
  if (hour == 11 and minute == 31) or (hour == 9 and minute == 27):
68
68
  all_cmd_processes = cmd_util.get_all_process()
69
69
  if data_frame_util.is_empty(all_cmd_processes):
@@ -79,7 +79,7 @@ def run_check_real_time_data_sync_status():
79
79
  except BaseException as e:
80
80
  logger.error("关闭实时行情任务异常:{}", e)
81
81
 
82
- # 重开下午定时同步
82
+ # 重开定时同步
83
83
  if (hour == 12 and minute == 59) or (hour == 9 and minute == 29):
84
84
  all_cmd_processes = cmd_util.get_all_process()
85
85
  if data_frame_util.is_empty(all_cmd_processes):
@@ -0,0 +1,61 @@
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 = "sync_realtime_quotes_task"
20
+ # 实时同步 python名称
21
+ REAL_TIME_TASK_NAME = "realtime_quotes_now_sync"
22
+ # 实时同步 bat
23
+ REAL_TIME_TASK_NAME_PATH = 'H:\\real_time_task.bat'
24
+ # 定时任务 bat
25
+ REAL_TIME_SCHEDULER_NAME_PATH = 'H:\\real_time_scheduler.bat'
26
+
27
+
28
+ # 关闭实时行情任务
29
+ def real_time_sync_task_close():
30
+ all_cmd_processes = cmd_util.get_all_process()
31
+ if data_frame_util.is_empty(all_cmd_processes):
32
+ return False
33
+ all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
34
+ if data_frame_util.is_empty(all_cmd_processes_real_time_task):
35
+ return False
36
+ for match_task_one in all_cmd_processes_real_time_task.itertuples():
37
+ try:
38
+ processes_pid = match_task_one.process_pid
39
+ # 关闭当前进程
40
+ cmd_util.kill_process_by_pid(processes_pid)
41
+ except BaseException as e:
42
+ logger.error("关闭实时行情任务异常:{}", e)
43
+
44
+
45
+ # 重开定时任务同步
46
+ def real_time_sync_task_open():
47
+ all_cmd_processes = cmd_util.get_all_process()
48
+ if data_frame_util.is_empty(all_cmd_processes):
49
+ return False
50
+ all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
51
+ if data_frame_util.is_empty(all_cmd_processes_real_time_task):
52
+ # 重开定时任务
53
+ cmd_util.open_bat_file(REAL_TIME_SCHEDULER_NAME_PATH)
54
+ # 防止太快重开多个
55
+ time.sleep(3)
56
+
57
+
58
+ def get_real_time_quotes_task(all_cmd_processes):
59
+ return all_cmd_processes[
60
+ (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))
61
+ | (all_cmd_processes['total_info'].str.contains(REAL_TIME_TASK_NAME, case=False, na=False))]
@@ -43,12 +43,10 @@ import mns_scheduler.irm.stock_irm_cninfo_service as stock_irm_cninfo_service
43
43
  import mns_scheduler.open.sync_one_day_open_data_to_db_service as sync_one_day_open_data_to_db_service
44
44
  import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
45
45
  import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
46
- import mns_scheduler.risk.self.wei_pan_stock_api as wei_pan_stock_api
47
46
  import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
48
47
  import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api as sync_ths_concept_new_index_api
49
48
  import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
50
49
  import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
51
- import mns_scheduler.db.real_time_task_check as real_time_task_check_api
52
50
  import mns_scheduler.trade.task.trader_task_service as trader_task_service
53
51
  import mns_scheduler.company_info.remark.company_remark_info_sync as company_remark_info_sync
54
52
  import mns_scheduler.finance.sync_financial_report_service_api as sync_financial_report_service_api
@@ -57,6 +55,7 @@ import mns_scheduler.hk.hk_company_info_sync_service_api as hk_company_info_sync
57
55
  import mns_scheduler.zt.zt_pool.update_null_zt_reason_api as update_null_zt_reason_api
58
56
  import mns_scheduler.trade.tfp.stock_tfp_info_sync as stock_tfp_info_sync
59
57
  import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync_service
58
+ import mns_scheduler.db.task_handle_service as task_handle_service
60
59
 
61
60
 
62
61
  # 同步交易日期任务完成
@@ -348,9 +347,16 @@ def sync_all_interactive_questions():
348
347
  stock_irm_cninfo_service.sync_all_interactive_questions(None)
349
348
 
350
349
 
351
- # 数据同步状态check
352
- def real_time_task_check_status():
353
- real_time_task_check_api.run_check_real_time_data_sync_status()
350
+ # 重开定时任务同步
351
+ def real_time_sync_task_open():
352
+ logger.info("开启实时行情同步任务")
353
+ task_handle_service.real_time_sync_task_open()
354
+
355
+
356
+ # 关闭实时行情任务
357
+ def real_time_sync_task_close():
358
+ logger.info("关闭实时行情同步任务")
359
+ task_handle_service.real_time_sync_task_close()
354
360
 
355
361
 
356
362
  # 打开交易客户端
@@ -525,8 +531,22 @@ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17
525
531
  # max_instances=4
526
532
  # )
527
533
 
528
- # 实时数据状态同步check,使用 'cron' 触发器来限制任务在 9 点到 15 点之间执行 1分钟check一次
529
- blockingScheduler.add_job(real_time_task_check_status, 'cron', hour='9-15', minute='*/2', max_instances=4)
534
+ # 重开定时任务同步
535
+
536
+ blockingScheduler.add_job(real_time_sync_task_open, 'cron', hour='09', minute='25')
537
+ blockingScheduler.add_job(real_time_sync_task_open, 'cron', hour='09', minute='29')
538
+ blockingScheduler.add_job(real_time_sync_task_open, 'cron', hour='12', minute='59')
539
+ # 关闭实时行情任务
540
+
541
+ blockingScheduler.add_job(real_time_sync_task_close, 'cron', hour='09', minute='27')
542
+ blockingScheduler.add_job(real_time_sync_task_close, 'cron', hour='11', minute='31')
543
+ blockingScheduler.add_job(real_time_sync_task_close, 'cron', hour='15', minute='01')
544
+
545
+
546
+
547
+
548
+
549
+
530
550
  # 打开交易客户端
531
551
  blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='08,12', minute='30')
532
552
  # 同步公司备注信息
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.7.2
3
+ Version: 1.2.7.3
4
4
 
@@ -33,7 +33,8 @@ 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=PpcMzxeN6SHLFue49sYcZXy_1Qv45U2pbzzsHpmz9h8,5048
36
+ mns_scheduler/db/real_time_task_check.py,sha256=OrzDWPgzC40-Hbw5hUlcrwNRHNmI0uNS6ZHlFcz9e_g,5036
37
+ mns_scheduler/db/task_handle_service.py,sha256=BUDMyCjQ7Rggta_ockmd1bfF16flPZO8voTyRyeDIUE,2252
37
38
  mns_scheduler/db/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
38
39
  mns_scheduler/db/script/col_move_script.py,sha256=0WNv0xbnPPKTME2_WMEPSGNT0DUWC7hS4mJ2VeNgc08,1163
39
40
  mns_scheduler/db/script/db_move/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -160,8 +161,8 @@ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=A5YiAWYdbAxhlTTJ8pOStZrBb
160
161
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=3OGBmWEX6G-fTuONgoB6Lu5xX0JNaWiP5FWMHIlIf-Y,10647
161
162
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
162
163
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
163
- mns_scheduler/zz_task/data_sync_task.py,sha256=Mrpa6gCwJBXLfvM8YT1pCovI5Va_KPjyMoRuCcQ01pw,22705
164
- mns_scheduler-1.2.7.2.dist-info/METADATA,sha256=xLPy1-TcDlunOmLMc7IqSbqNcy9gC1KTmGI2s6j-k1Y,64
165
- mns_scheduler-1.2.7.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
166
- mns_scheduler-1.2.7.2.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
167
- mns_scheduler-1.2.7.2.dist-info/RECORD,,
164
+ mns_scheduler/zz_task/data_sync_task.py,sha256=s-UcAp-IyzOKXvxMo04c6XM_RHoxMZmsBNMcvHN1BNI,23182
165
+ mns_scheduler-1.2.7.3.dist-info/METADATA,sha256=_c0k1tJzYqzcwysHxxAuiN2ZsGbWDvwI_glqGb6p0po,64
166
+ mns_scheduler-1.2.7.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
167
+ mns_scheduler-1.2.7.3.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
168
+ mns_scheduler-1.2.7.3.dist-info/RECORD,,