goflow
goflow copied to clipboard
[Code Quality] Abstract Queue Worker
Queue Worker is mainly used to handle async operations. Queue working internally uses RMQ - which internally uses Redis
The goal is to abstract the queue-worker in a way so that all RMQ specific details gets abstracted into Queue Worker interface QueueWorker in theory should abstract
- Enqueue Workload Tasks (WorkloadRequest)
- Enqueue Flow Operations Tasks (NewRequest, PartialRequest, Stop, Pause, Resume)
- Consume handler
func(task *Task) error
forNewRequest, PartialRequest, Stop, Pause, Resume, WorkloadResponse