コード例 #1
0
 def get_version(change_id: str, min_supported: int, max_supported: int):
     from cadence.decision_loop import ITask
     from cadence.decision_loop import DecisionContext
     task: ITask = ITask.current()
     decision_context: DecisionContext = task.decider.decision_context
     return decision_context.get_version(change_id, min_supported,
                                         max_supported)
コード例 #2
0
ファイル: workflow.py プロジェクト: mfateev/cadence-python
 def new_activity_stub(activities_cls):
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     assert task
     cls = activities_cls()
     cls._decision_context = task.decider.decision_context
     return cls
コード例 #3
0
 def new_activity_stub(activities_cls, retry_parameters: RetryParameters = None):
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     assert task
     cls = activities_cls()
     cls._decision_context = task.decider.decision_context
     cls._retry_parameters = retry_parameters
     return cls
コード例 #4
0
 def get_logger(name):
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.decision_context.get_logger(name)
コード例 #5
0
 def new_random() -> random.Random:
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.decision_context.new_random()
コード例 #6
0
 def random_uuid() -> uuid.UUID:
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.decision_context.random_uuid()
コード例 #7
0
 def now() -> datetime.datetime:
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     now_in_ms = task.decider.decision_context.current_time_millis()
     return datetime.datetime.fromtimestamp(now_in_ms / 1000)
コード例 #8
0
 def current_time_millis() -> int:
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.decision_context.current_time_millis()
コード例 #9
0
 async def sleep(seconds: int):
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     await task.decider.decision_context.schedule_timer(seconds)
コード例 #10
0
 async def await_till(c: Callable, timeout_seconds: int = 0) -> bool:
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     assert task
     return await task.await_till(c, timeout_seconds)
コード例 #11
0
 def interceptor(*args, **kwargs):
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     if not task.decider.decision_context.is_replaying():
         return fn(*args, **kwargs)
コード例 #12
0
 def get_execution_id():
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.execution_id
コード例 #13
0
 def get_workflow_id():
     from cadence.decision_loop import ITask
     task: ITask = ITask.current()
     return task.decider.workflow_id