|
1234567891011121314151617181920212223242526272829303132333435363738 |
- """
- 雪花算法生成器IdGenerator
- """
-
- # !/usr/bin/python
- # coding=UTF-8
-
-
- from . import options
- from . import snowflake_m1
-
-
- class DefaultIdGenerator:
- """
- ID生成器
- """
-
- def __init__(self):
- self.snowflake = None
-
- def set_id_generator(self, option: options.IdGeneratorOptions):
- """
- 设置id生成规则信息
- """
-
- if option.base_time < 100000:
- raise ValueError("base time error.")
-
- self.snowflake = snowflake_m1.SnowFlakeM1(option)
-
- def next_id(self) -> int:
- """
- 获取新的UUID
- """
-
- if self.snowflake is None:
- raise ValueError("please set id generator at first.")
- return self.snowflake.next_id()
|