v0.12.1 Latest Latest

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

Go to latest
Published: Sep 14, 2022 License: MIT Imports: 6 Imported by: 35



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.



This section is empty.


This section is empty.


func WithMailer added in v0.9.0

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

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


type DefaultWorker added in v0.9.0

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 added in v0.9.0

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

LaunchCampaign starts a campaign

func (*DefaultWorker) SendTestEmail added in v0.9.0

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

SendTestEmail sends a test email

func (*DefaultWorker) Start added in v0.9.0

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 {
	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