F***ing Simple Queue. A simple queue for sending emails.
Create an email service that sends emails. As long as it implements the ISender interface, it can be used with the queue.
cfg := &SmtpConfig{
Host: "localhost",
Port: 1025,
DefaultFrom: "mail@mail.com",
}
smtp := NewSmtp(cfg)sender := NewSenderWithQueue(smtp)cfg := &RabbitConfig{
RabbitHost: "localhost",
RabbitPort: 5672,
}
rabbit, err := NewRabbitQueue(cfg, sender)
if err != nil {
log.Fatalf("error creating rabbit queue: %v", err)
}var shutdown atomics.AtomicBool
shutdown.Set(false)
queue := New(shuttingDown, rabbit)
if err := queue.Run(ctx); err != nil {
log.Fatalf("error running queue: %v", err)
}