We use RQ to run tasks in a separate process.
We create 3 queues:
- high: high-priority queue. This is for things that users are activily waiting for, like management form submissions.
- default: default queue. Most tasks go here
- low: low-priority queue. For example: updating video feeds.
RQ fetches tasks from the these queues, in order of priority.