Metadata-Version: 2.1
Name: xqueue
Version: 0.0.1
Summary: A distributed messaging library similar to rq built on top of Redis
Home-page: https://github.com/chishui/xq
Author: chishui
Author-email: chishui2@gmail.com
Keywords: rq,queue,redis,messaging
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.8, <4
Description-Content-Type: text/markdown
License-File: LICENSE

# xq
A distributed queue system built on top of Redis

# install
```bash
pip3 install -r requirements.txt
```

# Use
## Producer
```python
import redis
from xq.queue import Queue

# connect to Redis
r = redis.Redis(host='localhost', port=6379)
# create queue
q = Queue(r, "test_queue")
# enqueue
q.enqueue("this is a message")
```

## Consumer
```python
import redis
from xq.queue import Queue

# connect to Redis
r = redis.Redis(host='localhost', port=6379)
# create queue
q = Queue(r, "test_queue")
# poll
messages = q.poll()
for message in messages:
    print(message.body)
```

## Use Worker
```python
import redis
from xq.queue import Queue
from xq.worker import Worker

# connect to Redis
r = redis.Redis(host='localhost', port=6379)
# create queue
q = Queue(r, "test_queue")
worker = Worker(q, process_message)
worker.run()

def process_message(message):
    print(message)
```
