Skip to content

Commit cddd871

Browse files
authored
Merge pull request #45 from nitrictech/feature/failed-task-snippet
docs: Add failed task snippet
2 parents 73e081b + 5f5f08f commit cddd871

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

examples/queues/failed.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# [START import]
2+
from typing import List
3+
from nitric.api import Queues, Task
4+
from nitric.api.queues import FailedTask
5+
# [END import]
6+
async def queues_failed():
7+
# [START snippet]
8+
# Construct a new queue client with default settings
9+
queues = Queues()
10+
11+
payload = {"content": "of task"}
12+
13+
# Publish tasks to queue
14+
failed_task = await queues.queue("my-queue").send([Task(payload=payload) for i in range(2)])
15+
16+
# Process the failed task
17+
for task in failed_task:
18+
print(task.message)
19+
# [END snippet]

tests/examples/test_queues_example.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
from typing import List
2+
3+
from nitricapi.nitric.queue.v1 import NitricTask, QueueSendBatchResponse, QueueSendResponse, FailedTask
4+
5+
from examples.queues.failed import queues_failed
16
from examples.queues.receive import queues_receive
27
from examples.queues.send import queues_send
38

@@ -21,3 +26,21 @@ async def test_send_queue(self):
2126
await queues_send()
2227

2328
mock_send.assert_called_once()
29+
30+
async def test_failed_queue(self):
31+
mock_failed = AsyncMock()
32+
mock_failed.return_value = QueueSendBatchResponse(
33+
failed_tasks=[
34+
FailedTask(
35+
task=NitricTask(
36+
id="1",
37+
),
38+
message="failed to send in this test",
39+
)
40+
]
41+
)
42+
43+
with patch("nitricapi.nitric.queue.v1.QueueServiceStub.send_batch", mock_failed):
44+
await queues_failed()
45+
46+
mock_failed.assert_called_once()

0 commit comments

Comments
 (0)