reddit-scrapper/cmd/reddit-scraper/main.go

36 lines
744 B
Go

package main
import (
"context"
"fmt"
"os"
"os/signal"
"syscall"
"time"
"github.com/yourname/reddit-scraper/internal/config"
"github.com/yourname/reddit-scraper/internal/logging"
)
func main() {
cfg, err := config.Load()
if err != nil {
fmt.Fprintln(os.Stderr, "config load:", err)
os.Exit(2)
}
logger := logging.Init(cfg.LogLevel)
logger.Info("starting", "keyword", cfg.Keyword, "limit", cfg.Limit, "concurrency", cfg.Concurrency)
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer cancel()
// placeholder: in future wire up controller
select {
case <-time.After(1 * time.Second):
logger.Info("done (placeholder)")
case <-ctx.Done():
logger.Info("cancelled")
}
}