main.go 724 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main
  2. import (
  3. "context"
  4. "log"
  5. "os"
  6. "strconv"
  7. "github.com/porter-dev/porter/internal/worker"
  8. )
  9. var (
  10. MaxWorkers = os.Getenv("MAX_WORKERS")
  11. MaxQueue = os.Getenv("MAX_QUEUE")
  12. )
  13. func main() {
  14. ctx, cancel := context.WithCancel(context.Background())
  15. defer cancel()
  16. workerCount, err := strconv.Atoi(MaxWorkers)
  17. if err != nil {
  18. log.Default().Fatalln("invalid MAX_WORKERS value")
  19. }
  20. queueCount, err := strconv.Atoi(MaxQueue)
  21. if err != nil {
  22. log.Default().Fatalln("invalid MAX_QUEUE value")
  23. }
  24. jobQueue := make(chan worker.Job, queueCount)
  25. d := worker.NewDispatcher(workerCount)
  26. d.Run(ctx, jobQueue)
  27. exitChannel := make(chan bool)
  28. log.Default().Println("use Ctrl+C to exit")
  29. <-exitChannel
  30. }