Skip to content

Commit a3f0fc1

Browse files
authored
fix bug of generating next_time for the first time when ClockMomentHandler init
1 parent bc508ad commit a3f0fc1

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

easyquant/push_engine/clock_engine.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,18 @@ def __init__(self, clock_engine, clock_type, moment=None, is_trading_date=True,
6363
self.is_trading_date = is_trading_date
6464
self.makeup = makeup
6565
self.call = call or (lambda: None)
66-
self.next_time = datetime.datetime.combine(
67-
self.clock_engine.now_dt.date(),
68-
self.moment,
69-
)
66+
#只在交易日执行定时任务(is_trading_date == True),当天为非交易日时,取最近一个交易日来设置next_time
67+
if self.is_trading_date == True and not etime.is_trade_date(self.clock_engine.now_dt):
68+
next_date = etime.get_next_trade_date(self.clock_engine.now_dt)
69+
self.next_time = datetime.datetime.combine(
70+
next_date,
71+
self.moment
72+
)
73+
else:
74+
self.next_time = datetime.datetime.combine(
75+
self.clock_engine.now_dt.date(),
76+
self.moment,
77+
)
7078

7179
if not self.makeup and self.is_active():
7280
self.update_next_time()

0 commit comments

Comments
 (0)