Taurus Queue offers a comprehensive queue ecosystem, simplifying the creation, execution, management, and monitoring of scalable and highly available queues. Leveraging the robust foundation of the Bull Project, Taurus Queue eliminates the intricacies of queue coding, allowing you to concentrate solely on your specific actions and rules, thus optimizing your time. It features a dedicated interface for efficient queue management and monitoring.
Monitor Screen (Monitoring only unhealth queues with auto-refresh)
- Starting in Taurus Queue for creating and running your first queue:
- Publish jobs to your queues using our publishers, compatible with multiple programming languages:
- PHP Taurus Queue Publisher
- Go Taurus Queue Publisher
- Python Taurus Queue Publisher
- Node.js (native support with examples included in Taurus Queue repository)
- Use Taurus Manager interface to create new job to an existent queue
- Utilize this repository for managing your queues including:
- Pausing/unpausing, adding/removing jobs.
- Deleting, retrying, debuggin, viewing error logs and much more.
- Managing user permissions.
- Overseeing your queues.
- Implement Taurus Monitoring for real-time graphical insights of your entire ecosystem, integrating with Grafana and Prometheus:
- Queue Length
- Job Duration
- Queue States
- Failures by Queue
- Total Jobs Completed (All-Time/Periodic)
- Sum of Completed Jobs (All-Time/Periodic)
Release 1.0.0 Requires NodeJs 20.x
First, you need to setup you /etc/hosts
For security measures, this project runs with CORs in strict mode, so to the backend and frontend can communicate correctly, they must both run on the same sub-domain
Configure your hosts file to redirect 127.0.0.1 to the frontend and backend domains adding this lines into your /etc/hosts
:
Edit you hosts file with:
sudo vi /etc/hosts
Add this two lines
127.0.0.1 api.local.taurus.com
127.0.0.1 local.taurus.com
Save and exit
Now you can run Docker and all the ecosystem will automatically be running and you just need to scan your queues and use the manager. :)
docker-compose up
Assuming you have a redis running Taurus Queues, you can use our scanQueues.ts
located in backend
folder, passing the host for the redis to scan and populate all your queues automaticly to the manager
docker exec -it taurus-manager-back bash
npx ts-node scanQueues.ts taurus-redis
Now you can access your development environment http://local.taurus.com:9000
, login using these credentials: username: admin
password:admin
and use the manager.
We know you know, but if you want to run in a production environment don't forget to change your password using the interface.
Want to contribute? Great!
The project using a simple code. Make a change in your file and be careful with your updates! Any new code will only be accepted with all viladations.
To ensure that the entire project is fine:
Run all validations
$ npm run check
Not Empty Foundation - Free codes, full minds