Skip to main content

Install

PyPI

pip install qstash

Get QStash token

Follow the instructions here to get your QStash token and signing keys.

Usage

Synchronous Client

from qstash import QStash

client = QStash("<QSTASH_TOKEN>")
client.message.publish_json(...)

Asynchronous Client

import asyncio

from qstash import AsyncQStash


async def main():
    client = AsyncQStash("<QSTASH_TOKEN>")
    await client.message.publish_json(...)


asyncio.run(main())

RetryConfig

You can configure the retry policy of the client by passing the configuration to the client constructor. Note: This isn for sending the request to QStash, not for the retry policy of QStash. The default number of retries is 5 and the default backoff function is lambda retry_count: math.exp(retry_count) * 50. You can also pass in False to disable retrying.
from qstash import QStash

client = QStash(
    "<QSTASH_TOKEN>",
    retry={
        "retries": 3,
        "backoff": lambda retry_count: (2**retry_count) * 20,
    },
)