Documentation
¶
Index ¶
- type AdvertisementPublishingJobHandler
- type AdvertisementPublishingQueue
- type AdvertisementPublishingQueuePoller
- type AdvertisementQueuePublisher
- type Handler
- type Option
- type PublishingJob
- type PublishingJobHandler
- type PublishingQueue
- type PublishingQueuePoller
- type Queue
- type QueueDeleter
- type QueuePoller
- type QueuePublisher
- type QueueQueuer
- type QueueReader
- type QueueReleaser
- type WithID
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdvertisementPublishingJobHandler ¶
type AdvertisementPublishingJobHandler struct {
// contains filtered or unexported fields
}
func NewAdvertisementPublishingJobHandler ¶
func NewAdvertisementPublishingJobHandler(advertisementPublisher *publisher.AdvertisementPublisher) *AdvertisementPublishingJobHandler
func (*AdvertisementPublishingJobHandler) Handle ¶
func (h *AdvertisementPublishingJobHandler) Handle(ctx context.Context, jobs []WithID[schema.Advertisement]) map[string]error
type AdvertisementPublishingQueue ¶
type AdvertisementPublishingQueue Queue[schema.Advertisement]
type AdvertisementPublishingQueuePoller ¶
type AdvertisementPublishingQueuePoller = QueuePoller[schema.Advertisement]
func NewAdvertisementPublishingQueuePoller ¶
func NewAdvertisementPublishingQueuePoller(queue AdvertisementPublishingQueue, advertisementPublisher *publisher.AdvertisementPublisher, opts ...Option) (*AdvertisementPublishingQueuePoller, error)
type AdvertisementQueuePublisher ¶
type AdvertisementQueuePublisher struct {
// contains filtered or unexported fields
}
func NewAdvertisementQueuePublisher ¶
func NewAdvertisementQueuePublisher(queue AdvertisementPublishingQueue, store store.PublisherStore) *AdvertisementQueuePublisher
type Handler ¶
type Handler[Job any] interface { // contains filtered or unexported methods }
Handler processes jobs of the given type.
type Option ¶
type Option func(*config)
Option configures the CachingQueuePoller
func WithConcurrency ¶
func WithConcurrency(concurrency int) Option
WithConcurrency sets the maximum number of concurrent job processing
func WithJobBatchSize ¶
func WithJobBatchSize(size int) Option
WithJobBatchSize sets the maximum number of jobs to process in a batch
type PublishingJob ¶
type PublishingJobHandler ¶
type PublishingJobHandler struct {
// contains filtered or unexported fields
}
func NewPublishingJobHandler ¶
func NewPublishingJobHandler(publisher publisher.AsyncPublisher) *PublishingJobHandler
func (*PublishingJobHandler) Handle ¶
func (h *PublishingJobHandler) Handle(ctx context.Context, job PublishingJob) error
type PublishingQueue ¶
type PublishingQueue Queue[PublishingJob]
type PublishingQueuePoller ¶
type PublishingQueuePoller = QueuePoller[PublishingJob]
func NewPublishingQueuePoller ¶
func NewPublishingQueuePoller(queue PublishingQueue, publisher publisher.AsyncPublisher, opts ...Option) (*PublishingQueuePoller, error)
type Queue ¶
type Queue[Job any] interface { QueueQueuer[Job] QueueReader[Job] QueueReleaser QueueDeleter }
Queue is an interface for a job queue, combining queuing, reading, releasing, and deleting jobs.
type QueueDeleter ¶
QueueDeleter is an interface for deleting jobs from the queue.
type QueuePoller ¶
type QueuePoller[Job any] struct { // contains filtered or unexported fields }
QueuePoller polls a queue for jobs and processes them using the provided JobHandler.
func NewQueuePoller ¶
func NewQueuePoller[Job any](queue Queue[Job], handler Handler[Job], opts ...Option) (*QueuePoller[Job], error)
NewQueuePoller creates a new QueuePoller instance.
type QueuePublisher ¶
type QueuePublisher struct {
// contains filtered or unexported fields
}
func NewQueuePublisher ¶
func NewQueuePublisher(queue PublishingQueue) *QueuePublisher
type QueueQueuer ¶
QueueQueuer is an interface for queuing jobs.
type QueueReader ¶
type QueueReader[Job any] interface { Read(ctx context.Context, maxJobs int) ([]WithID[Job], error) }
QueueReader is an interface for reading jobs from the queue.
type QueueReleaser ¶
QueueReleaser is an interface for releasing jobs from the queue.