This project is a task processing system where tasks are sent to a RabbitMQ queue and workers consume these tasks to perform various operations. The communication between the task producer and the worker is secured using OAuth 2 authentication with Keycloak.
-
Clone the repository:
git clone https://github.com/githubnext/workspace-blank.git cd workspace-blank -
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate -
Install the required dependencies:
pip install -r requirements.txt
-
Configure RabbitMQ and Keycloak settings in
config.py.
-
Start the RabbitMQ server.
-
Run the producer to send tasks to the RabbitMQ queue:
python producer.py
-
Run the worker to consume tasks from the RabbitMQ queue and process them:
python worker.py
-
Monitor task status and retry failed tasks using:
python monitor.py