Header Ads

Show HN: Swig – A PostgreSQL-powered job queue system for Go https://ift.tt/oqdiE7Q

Show HN: Swig – A PostgreSQL-powered job queue system for Go I built Swig, a job queue system for Go that leverages PostgreSQL's advanced features for distributed processing. It's currently in alpha, and I'd love feedback from the community. What is Swig? Swig is a robust job queue system for Go applications that uses PostgreSQL as its backend. Unlike many job queues that require separate infrastructure, Swig leverages your existing PostgreSQL database, making it simpler to deploy and maintain. Key Features: - Race-free job distribution using SELECT FOR UPDATE SKIP LOCKED - Real-time job processing with LISTEN/NOTIFY - Leader election via advisory locks - Priority queues and scheduled jobs - Transactional job enqueueing (jobs can be part of your application transactions) - Multiple database driver support (pgx and database/sql) Why I Built It: I wanted to deepen my understanding of PostgreSQL's concurrency features and distributed systems patterns. While there are other PostgreSQL-backed queues, I wanted to build something specifically for Go that embraces idiomatic patterns and provides a clean, type-safe API while fully leveraging PostgreSQL's powerful features for distributed coordination. Current Status: This is an alpha release and a passion project. The core functionality works, but there are still rough edges and missing features. I'm actively working on improvements and would appreciate feedback, issues, and contributions or shoot me an email ogbemudiatimothy@gmail.com https://ift.tt/1NcUSxd March 15, 2025 at 10:17PM

No comments

Powered by Blogger.