feat: add Kafka job queue implementation
svaloumas opened this issue · 0 comments
svaloumas commented
Is your feature request related to a problem? Please describe.
Currently, there are three concrete implementations of the JobQueue
interface (in-memory, RabbitMQ, and Redis).
Describe the solution you'd like
It would be nice to extend this flexibility by adding a Kafka FIFO job queue implementation.
Additional context
The interface to be implemented is the following.
// JobQueue represents a driven actor queue interface.
type JobQueue interface {
// Push adds a job to the queue.
Push(j *domain.Job) error
// Pop removes and returns the head job from the queue.
Pop() *domain.Job
// CheckHealth checks if the job queue is alive.
CheckHealth() bool
// Close liberates the bound resources of the job queue.
Close()
}
The config and the job queue factory method should also be updated to support the new functionality.
README should also be updated accordingly.