An open API service indexing awesome lists of open source software.

https://github.com/matthewyoungjr/queuecraft

Modular job queue and worker system built with Go
https://github.com/matthewyoungjr/queuecraft

golang goose pgx pgx-v5 postgresql resend-email stdlib

Last synced: about 2 months ago
JSON representation

Modular job queue and worker system built with Go

Awesome Lists containing this project

README

          

# QueueCraft

QueueCraft is a lightweight, modular job queue and worker system built in Go. It helps you run background jobs (like sending emails or processing data) using a pool of workers โ€” perfect for building reliable async workflows in your Go applications.

---

## ๐Ÿš€ Features

- โšก๏ธ Fast and efficient worker pool (goroutines + channels)
- ๐Ÿงฑ PostgreSQL-backed persistent job storage (using Neon DB)
- ๐Ÿงฉ Uses pgx as the database driver
- ๐Ÿ” Built-in support for retries, job delays, and scheduling
- ๐Ÿ› ๏ธ Custom job handler support (`send_email`, `generate_report`, etc.)
- ๐Ÿ“œ Database migrations managed with Goose
- ๐Ÿงช Testable design with clean abstractions
- ๐Ÿงน Graceful shutdown and in-progress job recovery

---

## ๐Ÿ“ฆ Tech Stack

- [Go](https://golang.org/)
- [pgx](https://github.com/jackc/pgx) as the PostgreSQL driver
- [Neon (PostgreSQL)](https://neon.tech/)
- [Goose](https://github.com/pressly/goose) for migrations
- [SQLC](https://sqlc.dev/) for type-safe SQL
- Go standard library

---

## ๐Ÿ› ๏ธ Getting Started

### Prerequisites

- Go 1.20+
- A Neon PostgreSQL instance
- [Goose CLI](https://github.com/pressly/goose#installing) installed
- SQLC if you're using generated code