worker

package
v0.0.0-...-e77df25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package worker contains the functionality for the background worker process. It starts a background service that polls every minute for scheduled campaigns to be launched. If a campaign is found, it gathers the maillogs associated with the campaign and sends them to the mailer package to be processed.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithMailer

func WithMailer(m mailer.Mailer) func(*DefaultWorker) error

WithMailer sets the mailer for a given worker. By default, workers use a standard, default mailworker.

Types

type DefaultWorker

type DefaultWorker struct {
	// contains filtered or unexported fields
}

DefaultWorker is the background worker that handles watching for new campaigns and sending emails appropriately.

func (*DefaultWorker) LaunchCampaign

func (w *DefaultWorker) LaunchCampaign(c models.Campaign)

LaunchCampaign starts a campaign

func (*DefaultWorker) SendTestEmail

func (w *DefaultWorker) SendTestEmail(s *models.EmailRequest) error

SendTestEmail sends a test email

func (*DefaultWorker) Start

func (w *DefaultWorker) Start()

Start launches the worker to poll the database every minute for any pending maillogs that need to be processed.

type Worker

type Worker interface {
	Start()
	LaunchCampaign(c models.Campaign)
	SendTestEmail(s *models.EmailRequest) error
}

Worker is an interface that defines the operations needed for a background worker

func New

func New(options ...func(Worker) error) (Worker, error)

New creates a new worker object to handle the creation of campaigns

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL