Verk v1.4.1 API Reference
Modules
Verk is a job processing system that integrates well with Sidekiq jobs
This module interacts with jobs in the dead set
A GenStage producer that broadcasts events to subscribed consumers
Events generated while jobs are being processed
When a job fails this event is generated
When a job finishes this event is generated
When a job starts this event is generated
When a queue paused
When a queue is pausing
When a queue is running
The Job struct
Helper module to log when a job starts, fails or finishes
A process that manages the state of each started queue
This module interacts with a queue
Supervisor definition for a queue. It consists of:
- A
Verk.QueueManager
- A poolboy pool of workers
- A
Verk.WorkersManager
QueueManager interacts with redis to dequeue jobs from the specified queue
This process will update an :ets table with the following information per queue
This module is responsible for abstracting the logic of keeping counters for each queue
This process exists to pause queues once a shutdown
is issued. Once all queues are paused the
This module interacts with jobs in the retry set
The ScheduleManager looks for jobs to be retried and accept jobs to scheduled to be retried
Provides helpers to load lua scripts into redis and calculate sha1
This module interacts with the jobs on a sorted set
Basic stats for Verk
Supervisor definition for Verk application. It consists of:
Verk.ScheduleManager
- GenStage producer named
Verk.EventProducer
- GenStage consumer
Verk.QueueStats
- Redis connectionn named
Verk.Redis
- A
Verk.Queue.Supervisor
per queue
Internal API for time management and comparison functions
Worker executes the job, messages the manager when it’s done and shutdowns
A WorkersManager assign jobs to workers from a pool (handled by poolboy) monitoring the job