service.go 718 B

1234567891011121314151617181920212223242526272829303132
  1. // package service -- главный тип сервиса
  2. package service
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v3"
  5. . "gitp78su.ipnodns.ru/svi/kern/v3/krn/ktypes"
  6. )
  7. // Service -- тип сервиса
  8. type Service struct {
  9. ctx IKernelCtx
  10. servHttp IKernelServerHttp
  11. }
  12. // NewService -- возвращает новый сервис
  13. func NewService() (*Service, error) {
  14. ctx := kern.GetKernelCtx()
  15. ctx.Set("monolitName", "SviArch", "NewService()")
  16. servHttp := kern.GetKernelServerHttp()
  17. sf := &Service{
  18. ctx: kern.GetKernelCtx(),
  19. servHttp: servHttp,
  20. }
  21. return sf, nil
  22. }
  23. // Run -- запуск сервиса
  24. func (sf *Service) Run() error {
  25. sf.servHttp.Run()
  26. sf.ctx.Wg().Wait()
  27. return nil
  28. }