From c822404bf7c4cfa26a0713623735d7cae22d28fb Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Thu, 24 Apr 2025 21:00:55 -0600 Subject: [PATCH] stub --- src/cmd/cron.go | 10 ++++++++++ src/cmd/main.go | 22 ++++++++++++++++++++-- src/cmd/server.go | 10 ++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/cmd/cron.go create mode 100644 src/cmd/server.go diff --git a/src/cmd/cron.go b/src/cmd/cron.go new file mode 100644 index 0000000..f5ce4cc --- /dev/null +++ b/src/cmd/cron.go @@ -0,0 +1,10 @@ +package cmd + +import ( + "context" + "io" +) + +func cron(ctx context.Context) error { + return io.EOF +} diff --git a/src/cmd/main.go b/src/cmd/main.go index c937ece..6b3ace7 100644 --- a/src/cmd/main.go +++ b/src/cmd/main.go @@ -2,9 +2,27 @@ package cmd import ( "context" - "io" + "fmt" + "show-rss/src/pool" ) func Main(ctx context.Context) error { - return io.EOF + ctx, can := context.WithCancel(ctx) + defer can() + + foos := map[string]func() error{ + "server": func() error { return server(ctx) }, + "cron": func() error { return cron(ctx) }, + } + p := pool.New(len(foos)) + defer p.Wait(ctx) + + for k, foo := range foos { + foo := foo + if err := p.Go(ctx, k, foo); err != nil { + return fmt.Errorf("failed to go %s: %v", k, err) + } + } + + return p.Wait(ctx) } diff --git a/src/cmd/server.go b/src/cmd/server.go new file mode 100644 index 0000000..4525918 --- /dev/null +++ b/src/cmd/server.go @@ -0,0 +1,10 @@ +package cmd + +import ( + "context" + "io" +) + +func server(ctx context.Context) error { + return io.EOF +}