antri

command module
v0.0.0-...-5ed4748 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2021 License: MIT Imports: 22 Imported by: 0

README

antri

A fast, durable, task-scheduling queue. This is intended as an exercise, but hopefully can be made into a production ready one.

Trivia

antri is indonesian for waiting in a queue

Installation

  1. Clone the repo, git@github.com:aarondwi/antri.git
  2. Install go compiler on your platform
  3. cd into the repo, and build with go build .

Usage

See the code directly for usages

Features

  1. Targeted to work both on windows and linux only
  2. using grpc, easy to create client
  3. batch add/get/commit
  4. at least once delivery (with task timeout)
  5. task scheduling/visibility, e.g. how many seconds from commit before the task can be retrieved
  6. durability (via wal, and periodic snapshotting for faster recovery)

Notes

  1. NOT production ready
  2. There are no supports for topic/subscription. This implementation focus on the internal of each queue. Topic/subscription can easily be implemented on top of it. And anyway, priority and/or scheduled task (imo) don't match with concept of subscription (multiple consumer group).
  3. Following above, multi-tenancy also not implemented (yet). This one gonna be useful for smaller usage which aims to maximize resource usage.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL