MCPcopy Create free account
hub / github.com/techschool/simplebank / runTaskProcessor

Function runTaskProcessor

main.go:95–120  ·  view source on GitHub ↗
(
	ctx context.Context,
	waitGroup *errgroup.Group,
	config util.Config,
	redisOpt asynq.RedisClientOpt,
	store db.Store,
)

Source from the content-addressed store, hash-verified

93}
94
95func runTaskProcessor(
96 ctx context.Context,
97 waitGroup *errgroup.Group,
98 config util.Config,
99 redisOpt asynq.RedisClientOpt,
100 store db.Store,
101) {
102 mailer := mail.NewGmailSender(config.EmailSenderName, config.EmailSenderAddress, config.EmailSenderPassword)
103 taskProcessor := worker.NewRedisTaskProcessor(redisOpt, store, mailer)
104
105 log.Info().Msg("start task processor")
106 err := taskProcessor.Start()
107 if err != nil {
108 log.Fatal().Err(err).Msg("failed to start task processor")
109 }
110
111 waitGroup.Go(func() error {
112 <-ctx.Done()
113 log.Info().Msg("graceful shutdown task processor")
114
115 taskProcessor.Shutdown()
116 log.Info().Msg("task processor is stopped")
117
118 return nil
119 })
120}
121
122func runGrpcServer(
123 ctx context.Context,

Callers 1

mainFunction · 0.85

Calls 6

StartMethod · 0.95
ShutdownMethod · 0.95
NewGmailSenderFunction · 0.92
NewRedisTaskProcessorFunction · 0.92
InfoMethod · 0.80
FatalMethod · 0.80

Tested by

no test coverage detected