Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reddec/slowqueue
Thread-safe consistent queue, relatively slow, for a lot of large elements, with small, fixed memory footprint, designed for embedded, edge or other memory constraint devices
https://github.com/reddec/slowqueue
edge embedded golang queue zero-dependency
Last synced: about 1 month ago
JSON representation
Thread-safe consistent queue, relatively slow, for a lot of large elements, with small, fixed memory footprint, designed for embedded, edge or other memory constraint devices
- Host: GitHub
- URL: https://github.com/reddec/slowqueue
- Owner: reddec
- License: mit
- Created: 2022-07-08T14:10:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-07-08T14:10:58.000Z (over 2 years ago)
- Last Synced: 2024-06-21T09:43:24.761Z (6 months ago)
- Topics: edge, embedded, golang, queue, zero-dependency
- Language: Go
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slow queue
[![Go Reference](https://pkg.go.dev/badge/github.com/reddec/slowqueue.svg)](https://pkg.go.dev/github.com/reddec/slowqueue)
[Slow queue](https://pkg.go.dev/github.com/reddec/slowqueue/queue) is classical FIFO queue, based on approach where one file is one element.
Designed compromises and features:
- Store as minimal as possible information in memory.
- Number of elements and element sized only limited by underlying file storage.
- Designed to handle a lot of large elements by with reasonable compromise of speed in memory-constraint environments
- Consistent and fault-tolerant.
- Zero dependencies.Does NOT support access to the same queue from different processes, however, it is **go-routine safe**.
**Summary**: it's thread-safe consistent queue, relatively slow (~3-4k push-poll ops / second), for large elements,
with small, fixed memory footprint, designed for embedded, edge or other memory constraint devices.Additional helpers:
- [Processor](https://pkg.go.dev/github.com/reddec/slowqueue/processor): async tasks processor with retries and TTL