Skip to content

Commit 96983b2

Browse files
committed
feat(models): Add exception name into task.error attribute
1 parent 979adff commit 96983b2

File tree

8 files changed

+10
-10
lines changed

8 files changed

+10
-10
lines changed

examples/testing/test_assert_helper_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ def test_fail_once():
3636

3737
# check results manually as well
3838
assert processed[0].result == 3
39-
assert processed[1].error == "division by zero"
39+
assert processed[1].error == "ZeroDivisionError: division by zero"

examples/testing/test_failure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ def test_divide_by_zero():
2626

2727
# verify the second task result (should fail)
2828
assert processed_tasks[1].completed is False
29-
assert processed_tasks[1].error == "division by zero"
29+
assert processed_tasks[1].error == "ZeroDivisionError: division by zero"

examples/testing/test_retry_logic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def test_fail_once():
3131

3232
# verify the task result
3333
assert processed[0].completed is False
34-
assert processed[0].error == "task failed"
34+
assert processed[0].error == "ValueError: task failed"
3535

3636
# retry should succeed
3737
assert processed[1].completed is True

src/sheppy/testqueue.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def test_failing_task():
8686
# check task is failed
8787
assert_is_failed(processed_task)
8888
assert processed_task.result is None
89-
assert processed_task.error == "division by zero"
89+
assert processed_task.error == "ZeroDivisionError: division by zero"
9090
9191
# check queue size is now zero
9292
assert q.size() == 0

src/sheppy/utils/task_execution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def handle_success_and_update_task_metadata(task: TaskInternal, result: Any, wor
123123
@staticmethod
124124
async def handle_failed_task(task: TaskInternal, exception: Exception) -> TaskInternal:
125125
task.completed = False
126-
task.error = str(exception)
126+
task.error = f"{exception.__class__.__name__}: {exception}"
127127

128128
if task.is_retriable:
129129
task = TaskProcessor.handle_retry(task)

tests/contract/test_backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ def _set_completed(task: TaskInternal) -> None:
3030

3131
def _set_failed(task: TaskInternal) -> None:
3232
task.completed = False
33-
task.error = "some error happened"
33+
task.error = "Exception: some error happened"
3434
task.result = None
3535
task.finished_at = datetime_now
3636

3737
def _set_failed_should_retry(task: TaskInternal) -> None:
3838
task.completed = False
39-
task.error = "some error happened"
39+
task.error = "Exception: some error happened"
4040
task.result = None
4141
task.retry_count += 1
4242
task.last_retry_at = datetime_now - timedelta(seconds=6)

tests/contract/test_retry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ async def test_retry(task_fail_once_fn: Callable[[], Task], queue: Queue, worker
1717

1818
t = await queue.get_task(t)
1919
assert_is_failed(t)
20-
assert t.error == "transient error"
20+
assert t.error == "Exception: transient error"
2121
assert t.retry_count == 1
2222

2323
await worker.work(1)

tests/dependencies.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,14 +496,14 @@ def failing_tasks() -> list[TaskTestCase]:
496496
failing_task,
497497
kwargs={"message": "Test failure"},
498498
should_fail=True,
499-
expected_error="Test failure"
499+
expected_error="ValueError: Test failure"
500500
),
501501
TaskTestCase(
502502
"async_failure",
503503
async_failing_task,
504504
kwargs={"message": "Async test failure"},
505505
should_fail=True,
506-
expected_error="Async test failure"
506+
expected_error="ValueError: Async test failure"
507507
),
508508
]
509509

0 commit comments

Comments
 (0)