Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Worker = &cli.Command{ Name: "worker", Usage: "Start telegram bot worker", Flags: []cli.Flag{ &cli.BoolFlag{ Name: "cron", Usage: "enable cron service", DefaultText: "false", }, }, Action: func(cmd *cli.Context) error { ctx, cancel := support.WithKillSignal(cmd.Context) defer cancel() cfg := *config.Ctx(cmd.Context) logger := zerolog.Ctx(cmd.Context). With(). Str("context", "worker"). Logger() var err error services := serviceContainer{ cfg: cfg, logger: logger, } logger.Debug().Msg("Creating youtube service instance") services.youtube, err = ytube.NewService(cmd.Context, cfg.Youtube) if err != nil { return err } services.bot, err = initBot(ctx, services) if err != nil { return err } if cmd.Bool("cron") { go func() { errSig := initCron(ctx, services) err := <-errSig if err != nil { logger.Error().Err(err).Msg("error signal from cron") } }() } else { logger.Warn().Msg("Cron is disabled") } <-ctx.Done() logger.Info().Err(ctx.Err()).Msg("Done") return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.