Modules@robinpath/queue
@robinpath/queue
0.1.1PublicIn-memory job queue with priorities, delays, and dead-letter for RobinPath
@robinpath/queue
In-memory job queue with priorities, delayed execution, retry, dead-letter, pause/resume
Why use this module?
The queue module lets you:
- Create a named job queue
- Add a job to a queue with optional priority and delay
- Get the next pending job from a queue (highest priority, oldest first)
- Mark a job as completed with an optional result
- Mark a job as failed; auto-retries if under maxAttempts, otherwise moves to dead-letter
All functions are callable directly from RobinPath scripts with a simple, consistent API.
Installation
npm install @robinpath/queue
Quick Start
No credentials needed — start using it right away:
queue.push "emails" $emailData {"priority": 10}
Available Functions
| Function | Description |
|---|---|
queue.create | Create a named job queue |
queue.push | Add a job to a queue with optional priority and delay |
queue.pop | Get the next pending job from a queue (highest priority, oldest first) |
queue.complete | Mark a job as completed with an optional result |
queue.fail | Mark a job as failed; auto-retries if under maxAttempts, otherwise moves to dead-letter |
queue.retry | Re-queue a failed or dead-letter job for processing |
queue.remove | Remove a job from a queue |
queue.size | Get the number of jobs in a queue, optionally filtered by status |
queue.status | Get detailed status and metrics for a queue |
queue.pause | Pause a queue (pop will return null) |
queue.resume | Resume a paused queue |
queue.clear | Remove all jobs from a queue |
queue.deadLetter | List jobs in the dead-letter queue |
queue.getJob | Get details for a specific job by ID |
queue.destroy | Destroy a queue and free all resources |
Examples
Add a job to a queue with optional priority and delay
queue.push "emails" $emailData {"priority": 10}
Get the next pending job from a queue (highest priority, oldest first)
queue.pop "emails"
Mark a job as completed with an optional result
queue.complete "emails" $jobId "sent"
Integration with RobinPath
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/queue";
const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);
const result = await rp.executeScript(`
queue.push "emails" $emailData {"priority": 10}
`);
Full API Reference
See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.
Related Modules
@robinpath/json— JSON module for complementary functionality
License
MIT
Versions (1)
| Version | Tag | Published |
|---|---|---|
| 0.1.1 | latest | yesterday |
Related Modules
devops
0
@robinpath/bitbucket
v0.1.1robinpath
Bitbucket module for RobinPath.
0 downloads
...
devops
0
@robinpath/box
v0.1.1robinpath
Box module for RobinPath.
0 downloads
...
devops
0
@robinpath/cache
v0.1.1robinpath
In-memory key-value cache with optional TTL expiration for temporary data storage
0 downloads
...
devops
0
@robinpath/cloudflare
v0.1.1robinpath
Cloudflare module for RobinPath.
0 downloads
...
Install
$ robinpath install @robinpath/queue Version0.1.1
LicenseMIT
Unpacked Size6.1 KB
Versions1
Weekly Downloads0
Total Downloads0
Stars0
Last Publishyesterday
Createdyesterday

