Skip to content

Commit c429263

Browse files
committed
Add Workflow.get_workflow_id() and Workflow.get_execution_id().
1 parent 05671bb commit c429263

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

cadence/decision_loop.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,7 @@ class ReplayDecider:
537537
decision_events: DecisionEvents = None
538538
decisions: OrderedDict[DecisionId, DecisionStateMachine] = field(default_factory=OrderedDict)
539539
decision_context: DecisionContext = None
540+
workflow_id: str = None
540541

541542
activity_id_to_scheduled_event_id: Dict[str, int] = field(default_factory=dict)
542543

@@ -910,14 +911,16 @@ def poll(self) -> Optional[PollForDecisionTaskResponse]:
910911

911912
def process_task(self, decision_task: PollForDecisionTaskResponse) -> List[Decision]:
912913
execution_id = str(decision_task.workflow_execution)
913-
decider = ReplayDecider(execution_id, decision_task.workflow_type, self.worker)
914+
decider = ReplayDecider(execution_id, decision_task.workflow_type, self.worker,
915+
workflow_id=decision_task.workflow_execution.workflow_id)
914916
decisions: List[Decision] = decider.decide(decision_task.history.events)
915917
decider.destroy()
916918
return decisions
917919

918920
def process_query(self, decision_task: PollForDecisionTaskResponse) -> bytes:
919921
execution_id = str(decision_task.workflow_execution)
920-
decider = ReplayDecider(execution_id, decision_task.workflow_type, self.worker)
922+
decider = ReplayDecider(execution_id, decision_task.workflow_type, self.worker,
923+
workflow_id=decision_task.workflow_execution.workflow_id)
921924
decider.decide(decision_task.history.events)
922925
try:
923926
result = decider.query(decision_task, decision_task.query)

cadence/workflow.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,19 @@ def get_logger(name):
8989
task: ITask = ITask.current()
9090
return task.decider.decision_context.get_logger(name)
9191

92+
@staticmethod
93+
def get_workflow_id():
94+
from cadence.decision_loop import ITask
95+
task: ITask = ITask.current()
96+
return task.decider.workflow_id
97+
98+
@staticmethod
99+
def get_execution_id():
100+
from cadence.decision_loop import ITask
101+
task: ITask = ITask.current()
102+
return task.decider.execution_id
103+
104+
92105

93106
class WorkflowStub:
94107
pass

0 commit comments

Comments
 (0)