alfred

command module
v0.0.0-...-ea8ee0a Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: Unlicense Imports: 13 Imported by: 0

README

GitHub go.mod Go version GitHub made-with-Go

Reliable, Efficient and Idempotent Distribution of Laborious, Runtime-Error-Ridden Jobs

This project demonstrates the idea of leveraging an RDBMS (PostgreSQL here) to achieve job distribution without the use of message queues.

A more detailed explanation and motivation can be found at https://www.linkedin.com/pulse/db-mq-reliable-task-distributions-poc-jason-lui-1zmzc/.

To see the implementation of the handling, you may just read handle/handle.go. The rest of this repo exists only to make it runnable.

How to run

Prerequisites
  • Go (1.22)
  • Docker
  • GNU make utility (optional, it only makes the commands shorter)

To run the project, use the following command

make run

with the default config. Check out the top part of main.go, struct config for the list of environment variables.

To override some of them, run it like

SEED_SIZE=1000 make run

Sequence Diagram

The project implements the following sequence

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
heavy
Package heavy provides a means to carry out time-consuming, error-prone jobs
Package heavy provides a means to carry out time-consuming, error-prone jobs
message
Package message provides a means to send a message for observable reporting
Package message provides a means to send a message for observable reporting
Package source manages the dummy data source for jobs
Package source manages the dummy data source for jobs

Jump to

Keyboard shortcuts

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