Skip to content

abelanger5/postgres-fair-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository accompanies this blog post.

Setup

Prerequisites:

Run task setup to get everything running. This will spin up a Postgres database on port 5432, generate the relevant sqlc, and write the schema to the database. You might need to run it multiple times if Postgres doesn't start quickly.

Next, set the DATABASE_URL environment variable for all commands below:

export DATABASE_URL=postgresql://hatchet:hatchet@127.0.0.1:5432/hatchet

seed

Seeds the database with QUEUED tasks: for example, go run . seed -c 100000 -b 1000 -p 100. This would seed 100000 tasks across 100 partitions (groups).

seed the database with some tasks.

Usage:
  queue seed [flags]

Flags:
  -b, --batch-size int   The batch size for seeding. (default 100)
  -c, --count int        The number of tasks to seed. (default 10)
  -h, --help             help for seed
  -p, --partitions int   The number of partitions to seed. (default 10)

worker

Runs a set of workers which poll for tasks: for example, go run . worker -w 10 -s round-robin-concurrency -i 1s.

worker starts a set of workers to poll for tasks.

Usage:
  queue worker [flags]

Flags:
  -m, --concurrency-max-runs int   The maximum number of runs for the round-robin concurrency strategy. (default 4)
  -h, --help                       help for worker
  -l, --limit int                  The number of tasks to process per worker. (default 10)
  -i, --poll-interval string       The interval at which to poll for tasks. (default "5s")
  -s, --strategy string            The strategy to use for polling tasks. (default "fifo")
  -d, --task-delay string          The delay to introduce for each task in the worker. (default "0s")
  -w, --workers int                The number of workers to start. (default 1)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages