1
0
mirror of synced 2025-12-17 18:48:09 +08:00

优化时间回拨处理逻辑

This commit is contained in:
yitter
2022-09-15 22:42:14 +08:00
parent fe22bfb7e2
commit 5cd28244fc
13 changed files with 121 additions and 100 deletions

View File

@@ -86,11 +86,11 @@ class SnowFlakeM1(SnowFlake):
if current_time_tick < self.__last_time_tick:
if self.__turn_back_time_tick < 1:
self.__turn_back_time_tick = self.__last_time_tick - 1
self.__turn_back_index += 1
# 每毫秒序列数的前5位是预留位, 0用于手工新值, 1-4是时间回拨次序
# 支持4次回拨次序避免回拨重叠导致ID重复, 可无限次回拨(次序循环使用)。
if self.__turn_back_index > 4:
self.__turn_back_index = 1
self.__turn_back_index += 1
# 每毫秒序列数的前5位是预留位, 0用于手工新值, 1-4是时间回拨次序
# 支持4次回拨次序避免回拨重叠导致ID重复, 可无限次回拨(次序循环使用)。
if self.__turn_back_index > 4:
self.__turn_back_index = 1
return self.__calc_turn_back_id(self.__turn_back_time_tick)