Examples

Queues

Create a queue with parallelism 2

import { Client } from "@upstash/qstash";const client = new Client({ token: "<QSTASH_TOKEN>" });const queueName = "upstash-queue";await client.queue({ queueName }).upsert({ parallelism: 2 });const queueDetails = await client.queue({ queueName }).get();

Enqueue a message with labels

enqueue and enqueueJSON accept the same options as publish, including label. Labels let you tag the message so you can later filter it in the logs.

import { Client } from "@upstash/qstash";const client = new Client({ token: "<QSTASH_TOKEN>" });const queue = client.queue({ queueName: "upstash-queue" });await queue.enqueueJSON({  url: "https://my-api...",  body: { hello: "world" },  label: ["team-a", "high-priority"], // single string or array});

Delete Queue

import { Client } from "@upstash/qstash";const client = new Client({ token: "<QSTASH_TOKEN>" });const queueName = "upstash-queue";await client.queue({ queueName: queueName }).delete();

Resuming or creating a queue may take up to a minute. Therefore, it is not recommended to pause or delete a queue during critical operations.

Pause/Resume a queue

import { Client } from "@upstash/qstash";const client = new Client({ token: "<QSTASH_TOKEN>" });const name = "upstash-pause-resume-queue";const queue = client.queue({ queueName: name });await queue.upsert({ parallelism: 1 });// pause queueawait queue.pause();const queueInfo = await queue.get();console.log(queueInfo.paused); // prints true// resume queueawait queue.resume();

Resuming or creating a queue may take up to a minute. Therefore, it is not recommended to pause or delete a queue during critical operations.

Loading search…