diff --git a/LICENSE b/LICENSE index e566568..7cd4d4c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2018 Zhanliang Liu. All rights reserved. +Copyright 2018-2024 Zhanliang Liu. All rights reserved. Apache License Version 2.0, January 2004 @@ -188,7 +188,7 @@ Copyright 2018 Zhanliang Liu. All rights reserved. same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2018, Zhanliang Liu. + Copyright 2018-2024, Zhanliang Liu. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 12ff485..5d07b17 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,21 @@ [![GoDoc](https://godoc.org/github.com/liuzl/q?status.svg)](https://godoc.org/github.com/liuzl/q) -Q is a simple persistent message/task queue. It is written in Golang. +Q is a simple yet robust persistent message/task queue implemented in Go. -It has the following features: +## Features -- [Message confirmation and retry](#confirm-retry) -- [Message persistent](#persistent) +- **Message Confirmation & Retry**: Messages remain in queue until explicitly confirmed by consumers +- **Message Persistence**: Reliable storage of messages to prevent data loss +- **Priority Queue**: Support for message prioritization to handle urgent tasks first +- **Simple API**: Easy to integrate and use +- **High Performance**: Optimized for speed and efficiency +- **Zero Dependencies**: Standalone implementation with no external requirements -Messages in Q are very safe. They exist until the consumer confirms clearly, otherwise messages would be recycled and added back to queue again. +## Safety Guarantees + +Messages in Q are handled with strong safety guarantees: +- Messages persist until explicitly confirmed by consumers +- Unconfirmed messages are automatically recycled back to the queue +- No message loss even in case of crashes or failures +- Priority levels are preserved during message recycling and recovery