Internal notes about how BullMQ works, for debugging purposes.
Redis keys:
Queue configuration? Keys I've seen:
- opts.maxLenEvents
- ¿?
"autoincrement" id for the jobs
ids of the jobs that are waiting to be processed (in reverse order?)
stalled jobs - jobs that have been in the active list for too long
It seems that worker.startStalledCheckTimer() is the call that moves the jobs to this list
ids of active jobs
When a job is being processed, it is moved from the wait list to the active list
ids and timestamp of completed jobs
timestamp of the last time the stalled jobs were checked?
Information for a job in the queue.
It's not deleted when the job is finished. How do we clean this?
- name
- data
- opts
- timestamp
- delay
- priority
- processedOn (timestamp)
- ats ¿?
- atm?
- returnvalue
- finishedOn (timestamp)
The token of the worker that is processing the job
Events happening in the queue. Seen so far:
- added
- waiting
- active: when a worker takes the job
- completed
- stalled
- drained ¿?