|
14 | 14 | from opentelemetry.trace import StatusCode, get_tracer |
15 | 15 |
|
16 | 16 | from temporalio import activity, workflow |
17 | | -from temporalio.client import Client, WithStartWorkflowOperation |
| 17 | +from temporalio.client import Client, WithStartWorkflowOperation, WorkflowUpdateStage |
18 | 18 | from temporalio.common import RetryPolicy, WorkflowIDConflictPolicy |
19 | 19 | from temporalio.contrib.opentelemetry import TracingInterceptor |
20 | 20 | from temporalio.contrib.opentelemetry import workflow as otel_workflow |
@@ -184,8 +184,6 @@ async def test_opentelemetry_tracing(client: Client, env: WorkflowEnvironment): |
184 | 184 | ) |
185 | 185 | global ready_for_update |
186 | 186 | ready_for_update = asyncio.Semaphore(0) |
187 | | - global ready_for_update_with_start |
188 | | - ready_for_update_with_start = asyncio.Semaphore(0) |
189 | 187 | # Create a tracer that has an in-memory exporter |
190 | 188 | exporter = InMemorySpanExporter() |
191 | 189 | provider = TracerProvider() |
@@ -320,8 +318,6 @@ async def test_opentelemetry_tracing_update_with_start( |
320 | 318 | pytest.skip( |
321 | 319 | "Java test server: https://github.com/temporalio/sdk-java/issues/1424" |
322 | 320 | ) |
323 | | - global ready_for_update |
324 | | - ready_for_update = asyncio.Semaphore(0) |
325 | 321 | global ready_for_update_with_start |
326 | 322 | ready_for_update_with_start = asyncio.Semaphore(0) |
327 | 323 | # Create a tracer that has an in-memory exporter |
@@ -365,25 +361,27 @@ async def test_opentelemetry_tracing_update_with_start( |
365 | 361 | task_queue=task_queue, |
366 | 362 | id_conflict_policy=WorkflowIDConflictPolicy.USE_EXISTING, |
367 | 363 | ) |
368 | | - await client.execute_update_with_start_workflow( |
369 | | - update=TracingWorkflow.update_with_start, |
| 364 | + await client.start_update_with_start_workflow( |
| 365 | + TracingWorkflow.update_with_start, |
370 | 366 | start_workflow_operation=start_op, |
371 | 367 | id=handle.id, |
| 368 | + wait_for_stage=WorkflowUpdateStage.ACCEPTED, |
372 | 369 | ) |
373 | 370 | await handle.result() |
374 | 371 |
|
375 | | - # issue update with start again now that the former has completed |
| 372 | + # issue update with start again to trigger a new workflow |
| 373 | + workflow_id = f"workflow_{uuid.uuid4()}" |
376 | 374 | start_op = WithStartWorkflowOperation( |
377 | 375 | TracingWorkflow.run, |
378 | 376 | TracingWorkflowParam(actions=[]), |
379 | | - id="second-workflow", |
| 377 | + id=workflow_id, |
380 | 378 | task_queue=task_queue, |
381 | 379 | id_conflict_policy=WorkflowIDConflictPolicy.USE_EXISTING, |
382 | 380 | ) |
383 | 381 | await client.execute_update_with_start_workflow( |
384 | 382 | update=TracingWorkflow.update_with_start, |
385 | 383 | start_workflow_operation=start_op, |
386 | | - id="second-workflow", |
| 384 | + id=workflow_id, |
387 | 385 | ) |
388 | 386 |
|
389 | 387 | # Dump debug with attributes, but do string assertion test without |
|
0 commit comments