-
Notifications
You must be signed in to change notification settings - Fork 115
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
What are you really trying to do?
Simple naive test
Describe the bug
Code below shows this weird error:
============================= test session starts ==============================
platform darwin -- Python 3.12.11, pytest-8.4.1, pluggy-1.6.0 -- /Users/almogbaku/projects/poc/workflows/.venv/bin/python3
cachedir: .pytest_cache
rootdir: /Users/almogbaku/projects/poc/workflows
configfile: pyproject.toml
plugins: asyncio-1.1.0, anyio-4.10.0, cov-6.2.1, langsmith-0.4.14, logfire-4.3.3
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=session, asyncio_default_test_loop_scope=function
collecting ... collected 1 item
src/test.py::test_workflow_basic_startup
-------------------------------- live log call ---------------------------------
WARNING temporalio.activity:_activity.py:365 Completing activity as failed
Traceback (most recent call last):
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 296, in _handle_start_activity_task
result = await self._execute_activity(start, running_activity, task_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 519, in _execute_activity
heartbeat_timeout=_proto_to_non_zero_timedelta(start.WAIT_TIMEOUT)
^^^^^^^^^^^^^^^^^^
AttributeError: WAIT_TIMEOUT
WARNING temporalio.activity:_activity.py:365 Completing activity as failed
Traceback (most recent call last):
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 296, in _handle_start_activity_task
result = await self._execute_activity(start, running_activity, task_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 519, in _execute_activity
heartbeat_timeout=_proto_to_non_zero_timedelta(start.WAIT_TIMEOUT)
^^^^^^^^^^^^^^^^^^
AttributeError: WAIT_TIMEOUT
WARNING temporalio.activity:_activity.py:365 Completing activity as failed
Traceback (most recent call last):
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 296, in _handle_start_activity_task
result = await self._execute_activity(start, running_activity, task_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/almogbaku/projects/poc/workflows/.venv/lib/python3.12/site-packages/temporalio/worker/_activity.py", line 519, in _execute_activity
heartbeat_timeout=_proto_to_non_zero_timedelta(start.WAIT_TIMEOUT)
^^^^^^^^^^^^^^^^^^
AttributeError: WAIT_TIMEOUT
PASSED
============================== 1 passed in 0.39s ===============================
Minimal Reproduction
from datetime import timedelta
import pytest
from temporalio import activity, workflow
from temporalio.client import WorkflowExecutionStatus
from temporalio.testing import WorkflowEnvironment
from temporalio.worker import Worker
@workflow.defn
class BasicFake:
def __init__(self) -> None:
self._internal_state = {}
@workflow.run
async def run(self, input_params) -> None:
self._internal_state = await workflow.execute_activity(
'do_something',
input_params,
start_to_close_timeout=timedelta(seconds=30),
)
while True:
await workflow.sleep(1)
@activity.defn(name="do_something")
async def mock_do_something(input_params: dict) -> str:
return input_params['name']
@pytest.mark.asyncio
async def test_workflow_basic_startup():
async with await WorkflowEnvironment.start_time_skipping() as env:
async with Worker(
env.client,
task_queue="test-queue",
workflows=[BasicFake],
activities=[mock_do_something],
):
handle = await env.client.start_workflow(
'BasicFake',
{"name": "test"},
id="test-id",
task_queue="test-queue",
)
await env.sleep(5)
try:
status = (await handle.describe()).status
assert WorkflowExecutionStatus.RUNNING == status
finally:
await handle.terminate()
Environment/Versions
python sdk 1.15.0
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working