An asynchronous queue for requesting data
Project description
Requeue
In applications that receive messages, like chat bots, where you run callbacks on incoming messages, you might want to capture follow-up messages within a callback. A request queue allows you to do that.
Examples
from requeue import Requeue
queue = Requeue()
Where the messages come in and are processed;
async def run_callbacks(message):
# If the message completes a request, since it is forwarded,
# it should not continue to be handled by the callbacks.
if await queue.complete(message):
return
# If no request was completed, the message can be processed as usual.
for callback in client.callbacks:
await callback(message)
Inside a callback, to request and await an incoming message, you use wait_for
.
To only accept a message that meets specific criteria, you can pass a function
as a filter to the check
parameter.
@client.callback
async def on_message(message):
# An example of a knock knock joke back-and-forth,
# using the request queue to pick out the responses
if message == 'Knock knock!':
await client.send("Who's there?")
who, = await queue.wait_for()
await client.send(f'{who} who?')
punchline, = await queue.wait_for()
await punchline.react('😂')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
requeue-0.4.0.tar.gz
(14.6 kB
view details)
Built Distribution
requeue-0.4.0-py3-none-any.whl
(15.2 kB
view details)
File details
Details for the file requeue-0.4.0.tar.gz
.
File metadata
- Download URL: requeue-0.4.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 132661c5deeedb8e8a1dafed3134de2b195b60fccf026270e6669e692d6f30c6 |
|
MD5 | f80c4890bb22be43f4e73a1d1b35d59f |
|
BLAKE2b-256 | 8c1ea63eaf6cb96f7cc7775c6328e4ea985393b2c8df8475f60db6991af6f439 |
File details
Details for the file requeue-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: requeue-0.4.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93ff23e8677709718870d6b3e1b4bbf63712bc6a23015d5d119c4fd59fbf1a43 |
|
MD5 | c8eb2b694860f3e37ccc8c01e6af306d |
|
BLAKE2b-256 | 6151015aae96e3bbbb560802f4700a574454074cce8c34332f48b23ec1f048ca |