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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Slow queue

Go Reference

Slow 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: async tasks processor with retries and TTL

About

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

License:MIT License


Languages

Language:Go 100.0%