# HG changeset patch # User Christophe de Vienne <christophe@cdevienne.info> # Date 1736202234 -3600 # Mon Jan 06 23:23:54 2025 +0100 # Node ID f97d71bec55db08d63b0fcd36c3b7f768faa3c91 # Parent 8871b0bbb6771aeb6d1096b8da5bac8e77f0d306 serve: add --disable-mail-sender diff --git a/cmd/rednerd/cmd/serve.go b/cmd/rednerd/cmd/serve.go --- a/cmd/rednerd/cmd/serve.go +++ b/cmd/rednerd/cmd/serve.go @@ -54,6 +54,8 @@ options *Options TokenOptions *auth.TokenOptions `no-flag:"t"` + + DisableMailSender bool `long:"disable-mail-sender" description:"disable the mail sender routine"` } // Execute setup a server and runs it. @@ -151,18 +153,22 @@ cmd.Server.SetLog(log) cmd.Server.ConfigureAPI() - mailSenderContext, stopMailSender := context.WithCancel(context.Background()) - mailSenderContext = log.WithContext(mailSenderContext) + if !cmd.DisableMailSender { + mailSenderContext, stopMailSender := context.WithCancel(context.Background()) + mailSenderContext = log.WithContext(mailSenderContext) + + if err := MailSender.Start(mailSenderContext, cmd.options.Dsn, db); err != nil { + stopMailSender() - if err := MailSender.Start(mailSenderContext, cmd.options.Dsn, db); err != nil { - stopMailSender() + return err + } - return err + defer func() { + stopMailSender() + }() } defer func() { - stopMailSender() - if err := cmd.Server.Shutdown(); err != nil { log.Err(err).Msg("error shutting down the server") }