You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

DefaultIdGenerator.py 653 B

3 years ago
12345678910111213141516171819202122232425262728293031
  1. import time
  2. import traceback
  3. from IdGeneratorOptions import IdGeneratorOptions
  4. from SnowFlake import SnowFlake
  5. from SnowFlakeM1 import SnowFlakeM1
  6. class DefaultIdGenerator(object):
  7. def SetIdGernerator(self, options) :
  8. if options.BaseTime < 100000 :
  9. raise ValueError ("BaseTime error.")
  10. self.SnowFlake= SnowFlakeM1(options)
  11. def NextId(self):
  12. return self.SnowFlake.NextId()
  13. if __name__ == '__main__':
  14. try:
  15. options = IdGeneratorOptions(23)
  16. options.BaseTime = 1231111111
  17. idgen = DefaultIdGenerator()
  18. idgen.SetIdGernerator(options)
  19. print (idgen.NextId())
  20. print (options.__dict__)
  21. except ValueError as e:
  22. print(e)