starptech/workq — explained in plain English
Analysis updated 2026-07-18 · repo last pushed 2017-11-18
Build a document processing pipeline where convert, validate, and upload must happen in that exact order.
Coordinate a multi-step deployment workflow that requires strict sequential execution.
Run nested subtasks in order within a larger job, like validating each item in a batch before moving on.
Trigger a completion action or log message once all queued work finishes using the drain hook.
| starptech/workq | 3rd-eden/ircb.io | a15n/a15n | |
|---|---|---|---|
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | 2017-11-18 | 2016-11-16 | 2019-04-07 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Workq is a lightweight tool that runs tasks one at a time in a predictable order, rather than all at once. Think of it like a to-do list checker that works through your tasks sequentially, it guarantees that job A finishes before job B starts. If you've ever needed something to happen in a specific sequence and didn't want to manually coordinate timing, this is what it does. The way it works is straightforward: you create a queue, add jobs to it, and they execute in order. Each job gets a callback to signal when it's done, then the next job runs. What makes this interesting is that jobs can spawn their own nested queues, imagine a task that itself has subtasks that must complete in order before moving on. The main queue starts automatically once you add your first job, and nested queues start when you tell them to inside a parent job. You might use this if you're building something like a document processing pipeline (convert, validate, upload, in that exact order), a deployment workflow with multiple sequential steps, or any scenario where you need strict ordering and want the code to be simple and readable. The library supports both callback style and modern async/await syntax, so you can write it however feels natural. There's also a drain hook that tells you when all work in a queue is finished, useful for triggering a "complete" action or logging. One nice detail: if you need the same queue accessible from multiple files in your project, you can pass a singleton option so they all share one queue instead of creating separate ones. The whole library is intentionally tiny, no bloat, just the core concept of sequential task execution done well.
A lightweight JavaScript library that runs tasks one at a time in a guaranteed order, so job A always finishes before job B starts, even when jobs have their own nested sub-tasks.
Mainly JavaScript. The stack also includes JavaScript.
Dormant — no commits in 2+ years (last push 2017-11-18).
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.