Skip to content

Commit 719fc2e

Browse files
Merge pull request #87 from negatic/master
Add custom workflow ID support for Temporal scheduled workflows
2 parents 4ce787f + 15525dd commit 719fc2e

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

archipy/adapters/temporal/adapters.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
Client,
1515
Schedule,
1616
ScheduleActionStartWorkflow,
17+
ScheduleOverlapPolicy,
18+
SchedulePolicy,
1719
ScheduleSpec,
1820
TLSConfig,
1921
WorkflowHandle,
@@ -404,17 +406,29 @@ async def close(self) -> None:
404406
self._client = None
405407

406408
@override
407-
async def create_schedule(self, schedule_id: str, workflow_class: Any, spec: ScheduleSpec, task_queue: str) -> None:
409+
async def create_schedule(
410+
self,
411+
schedule_id: str,
412+
workflow_class: Any,
413+
spec: ScheduleSpec,
414+
task_queue: str,
415+
workflow_id: str | None = None,
416+
schedule_policy: SchedulePolicy | None = None,
417+
) -> None:
408418
"""Create a schedule for a workflow."""
409419
client = await self.get_client()
410420

411421
sched = Schedule(
412422
action=ScheduleActionStartWorkflow(
413423
workflow_class,
414-
id=schedule_id,
424+
id=workflow_id,
415425
task_queue=task_queue,
416426
),
417427
spec=spec,
428+
policy=schedule_policy
429+
or SchedulePolicy(
430+
overlap=ScheduleOverlapPolicy.SKIP,
431+
),
418432
)
419433

420434
await client.create_schedule(schedule_id, sched)

0 commit comments

Comments
 (0)