func CreateWorkerPool(size int, eventsChannel <-chan ws.EventsBatch, deliveryChannelSize int, kafkaProducer publisher.KafkaProducer) *Pool {
	return &Pool{
		Size:                size,
		deliveryChannelSize: deliveryChannelSize,
		EventsChannel:       eventsChannel,
		kafkaProducer:       kafkaProducer,
		wg:                  sync.WaitGroup{},
	}
}
CreateWorkerPool create new Pool struct given size and EventsChannel worker.
package worker
import (
	"fmt"
	"raccoon/logger"
	"raccoon/metrics"
	ws "raccoon/websocket"
	"sync"
	"time"
	"raccoon/publisher"
	"gopkg.in/confluentinc/confluent-kafka-go.v1/kafka"
)
type Pool struct {
	Size                int
	deliveryChannelSize int
	EventsChannel       <-chan ws.EventsBatch
	kafkaProducer       publisher.KafkaProducer
	wg                  sync.WaitGroup
}