You can run the async code by importing AsyncQStash from qstash
and awaiting the methods.
 
Since the DLQ can have a large number of messages, they are paginated.
You can go through the results using the cursor.
from qstash import QStash
client = QStash("<QSTASH-TOKEN>")
all_messages = []
cursor = None
while True:
    res = client.dlq.list(cursor=cursor)
    all_messages.extend(res.messages)
    cursor = res.cursor
    if cursor is None:
        break
 
Get a message from the DLQ
from qstash import QStash
client = QStash("<QSTASH-TOKEN>")
msg = client.dlq.get("<dlq-id>")
 
Delete a message from the DLQ
from qstash import QStash
client = QStash("<QSTASH-TOKEN>")
client.dlq.delete("<dlq-id>")