Skip to content

Commit

Permalink
Add in-progress tutorial to how-to section
Browse files Browse the repository at this point in the history
  • Loading branch information
sheldygg committed Oct 18, 2024
1 parent 8524b7f commit 5e22e15
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ search:
- [Message Information](nats/message.md)
- [How-To](howto/nats/index.md)
- [DynaConf](howto/nats/dynaconf.md)
- [In-Progess](howto/nats/in-progress.md)
- [Redis](redis/index.md)
- [Pub/Sub](redis/pubsub/index.md)
- [Subscription](redis/pubsub/subscription.md)
Expand Down
39 changes: 39 additions & 0 deletions docs/docs/en/howto/nats/in-progress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
# 0.5 - API
# 2 - Release
# 3 - Contributing
# 5 - Template Page
# 10 - Default
search:
boost: 10
---

# In-Progress sender

Nats Jetstream uses the at least once principle, so the message will be delivered until it receives the ACK status (even if your handler takes a long time to process the message), so you can extend the message processing status with a request

??? example "Full Example"
```python linenums="1"
import asyncio

from faststream import Depends, FastStream
from faststream.nats import NatsBroker, NatsMessage

broker = NatsBroker()
app = FastStream(broker)

async def progress_sender(message: NatsMessage):
async def in_progress_task():
while True:
await asyncio.sleep(10.0)
await message.in_progress()

task = asyncio.create_task(in_progress_task())
yield
task.cancel()

@broker.subscriber("test", dependencies=[Depends(progress_sender)])
async def handler():
await asyncio.sleep(20.0)

```
1 change: 1 addition & 0 deletions docs/docs/navigation_template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ search:
- [Message Information](nats/message.md)
- [How-To](howto/nats/index.md)
- [DynaConf](howto/nats/dynaconf.md)
- [In-Progess](howto/nats/in-progress.md)
- [Redis](redis/index.md)
- [Pub/Sub](redis/pubsub/index.md)
- [Subscription](redis/pubsub/subscription.md)
Expand Down

0 comments on commit 5e22e15

Please sign in to comment.