job.go 946 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package server
  2. import (
  3. "context"
  4. "sync"
  5. "github.com/go-nunu/nunu-layout-advanced/internal/job"
  6. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  7. )
  8. type JobServer struct {
  9. log *log.Logger
  10. userJob job.UserJob
  11. whitelistJob job.WhitelistJob
  12. wg sync.WaitGroup
  13. }
  14. func NewJobServer(
  15. log *log.Logger,
  16. userJob job.UserJob,
  17. whitelistJob job.WhitelistJob,
  18. ) *JobServer {
  19. return &JobServer{
  20. log: log,
  21. userJob: userJob,
  22. whitelistJob: whitelistJob,
  23. }
  24. }
  25. func (j *JobServer) Start(ctx context.Context) error {
  26. j.log.Info("job server starting...")
  27. // 启动 UserJob 的消费者
  28. //j.wg.Add(1)
  29. //go func() {
  30. // defer j.wg.Done()
  31. // j.userJob.RegisterConsumer(ctx)
  32. //}()
  33. // 启动 WhitelistJob 的消费者
  34. j.wg.Add(1)
  35. go func() {
  36. defer j.wg.Done()
  37. j.whitelistJob.DomainConsumer(ctx)
  38. }()
  39. j.wg.Wait()
  40. return nil
  41. }
  42. func (j *JobServer) Stop(ctx context.Context) error {
  43. return nil
  44. }