Start here
A linear track from an empty project to a worker draining a real queue — seven steps from here, each one naming what the next adds.
A linear track from an empty project to a worker draining a real queue — seven steps from here, each one naming what the next adds.
Something in your app is slow. Sending the welcome email, generating the thumbnail, rebuilding the report — the user is waiting on work that has nothing to do with the page they asked for.
A task queue takes that work out of the request. Your code writes down what needs doing and returns immediately; a separate process picks the work up and runs it. flexiq is a task queue with no broker to install: the list of pending work, the results, and the schedule all live in one database you already have — an SQLite file to start with.
This track is linear. Read it in order and you will finish with a worker
draining a queue for an application that looks like something you would actually
deploy, not add(a, b). Budget about an hour.
Install flexiq — get the package in, pick a database, confirm the CLI runs. Next page adds: the first job that actually executes.
Quickstart — define a task, start a worker, enqueue a job, read its result. Five minutes, one file. Next page adds: the vocabulary for what you just ran.
Concepts — task, job, queue, worker, result, namespace, and the execution model. Prose and diagrams, no options tables. Next page adds: more than one task, and a reason for them to exist.
Build a real app — a signup pipeline: a web handler that enqueues, two tasks on two queues, a worker draining both. This is the page that ends with something running. Next page adds: what happens when one of those tasks fails.
Handle failure — retries, error handling, timeouts, and where a job goes when it has run out of chances. In that order, because that is the order you meet them. Next page adds: the move off your laptop.
Go to production — choose a backend, run workers as a service, watch the queue, and the short list of things to get right before you ship. Next page adds: where to go once the basics hold.
Next steps — the deliberate hand-off into guides, modules, and the engine internals.
Everything you do not need in the first hour. flexiq has workflows, durable steps, a dashboard, dependency injection, a work-stealing mesh and more — none of it is required to run a queue, and meeting it now would only obscure the handful of ideas that are.
When you want it, it is signposted:
Skip to the Quickstart, then read Handle failure — the retry and dead-letter semantics are the part that differs most from what you are used to. The comparison and the migration guide are written for you.