summaryrefslogtreecommitdiff
path: root/id_generator.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-10-19 16:40:34 -0700
committerScott Gasch <[email protected]>2021-10-19 16:40:34 -0700
commit351e77c767c9084aa486eedbdc9902c635b06261 (patch)
treeb41e328293b8f89ea8f56f02e451ea2afe7c2e2e /id_generator.py
parent9484900f080e16f118806fe54973e69d36b043e8 (diff)
Bugfixes.
Diffstat (limited to 'id_generator.py')
-rw-r--r--id_generator.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/id_generator.py b/id_generator.py
index 4e650dc..bcd3a83 100644
--- a/id_generator.py
+++ b/id_generator.py
@@ -10,7 +10,7 @@ logger = logging.getLogger(__name__)
generators = {}
-def get(name: str) -> int:
+def get(name: str, *, start=0) -> int:
"""
Returns a thread safe monotonically increasing id suitable for use
as a globally unique identifier.
@@ -20,9 +20,13 @@ def get(name: str) -> int:
0
>>> id_generator.get('student_id')
1
+ >>> id_generator.get('employee_id', start=10000)
+ 10000
+ >>> id_generator.get('employee_id', start=10000)
+ 10001
"""
if name not in generators:
- generators[name] = itertools.count()
+ generators[name] = itertools.count(start, 1)
x = next(generators[name])
logger.debug(f"Generated next id {x}")
return x