acaloiaro / neoq

Queue-agnostic background job library for Go, with a pleasant API and powerful features.
MIT License
270 stars 4 forks source link

feat: Support for SQLite backend #129

Closed pranavmodx closed 2 months ago

pranavmodx commented 5 months ago

Hi Adriano,

Thanks for creating this amazing library! We have used it at our organization and it fits really well for our use cases.

The main requirement for us was that we needed a job queue backend which was persistent and embeddable in our application. As far as we could see, currently no job queuing library in Go has support for embedded databases like SQLite. So we were on the lookout to maybe extend an existing library or write one from scratch in the worst case. But thanks to the simplicity of neoq, we decided to implement SQLite backend for it to be able to use most (and eventually all) of neoq's features.

Here is the fork of neoq which implements SQLite backend: https://github.com/pranavmodx/neoq-sqlite SQLite doesn't seem to have a built-in notification system as that in PostgreSQL (pg_notify). So I have used Go channels as a mechanism similar to how you have used it for in-memory queue backend. The overall changes may need some refactoring and addition of unit tests.

Would you be interested in reviewing this effort and considering it as an open source contribution?

Thanks, Pranav

acaloiaro commented 5 months ago

@pranavmodx I'm absolutely interested in merging SQLite support. Thank you for contributing back!

A few things we should consider requirements for merging new backends

Let's get your work under review whenever you're ready. Feel free to join the Matrix chat from the README if you want to discuss anything further.

Cheers

github-actions[bot] commented 2 months ago

This issue is stale. Feel free to re-open it if it requires more attention