Skip to content
forked from adjust/rmq

Message queue system written in Go and backed by Redis

License

Notifications You must be signed in to change notification settings

markshapiro/rmq

 
 

Repository files navigation

added:

-tasks can be assigned a priority number (to be processed sooner from "ready" queue)
-queues now hold ids of tasks (integers) instead of payloads
-introduced redis lua scripts for isolation
-option to run queue cleaner automatically in background once per minute
 will run once even with multiple number of connections (using distributed lock)
-added tests for priority, adjusted old tests to new functionality
-added example for priority, adjusted old examples to new functionality

todo:

-list items of each queue
-forwarding of delivery to another queue (alternative to push queues)
-use HMSET to store value & metadata
-calculate the stats inside single redis script to get precise counts
-delayed tasks
-recovery in case redis script fails in the middle (rare case)

About

Message queue system written in Go and backed by Redis

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%