A Python project designed to bootstrap Redis Queue-based asynchronous workers using Redis Cloud. It provides a minimal yet scalable setup for building distributed task queues, with extensibility in mind for additional features.
- π§ Minimal Redis Cloud Client Configuration
- π― Simple Redis Queue Worker with Job Queueing
- π¦ Poetry-based dependency management
- π οΈ Easily extendable for production use cases
-
Install Poetry
-
Clone the repository:
git clone https://github.com/ayukumar34/worknado.git cd worknado -
Install dependencies:
poetry lock poetry install
-
Add the following environment variables to
.env:REDIS_CLOUD_CLIENT_HOST="redis-XXXXX.XXXX.us-east-1-4.ec2.redns.redis-cloud.com" REDIS_CLOUD_CLIENT_PORT="XXXXX" REDIS_CLOUD_CLIENT_USERNAME="default" REDIS_CLOUD_CLIENT_PASSWORD="********************"
-
Run the Redis Queue worker:
poetry run python src/worknado/worker.py
-
Enqueue a job payload:
from rq import Queue from worknado.config.redis_config import redis_client queue = Queue("default", connection=redis_client) def say_hello(name: str): return f"Hello, {name}!" # Enqueue job job = queue.enqueue(simple_job, "Ayush")
MIT License. Use this boilerplate freely for personal and commercial projects.