service.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package service
  2. import (
  3. "os"
  4. "yunion.io/x/log"
  5. _ "yunion.io/x/sqlchemy/backends"
  6. api "yunion.io/x/onecloud/pkg/apis/llm"
  7. "yunion.io/x/onecloud/pkg/cloudcommon"
  8. app_common "yunion.io/x/onecloud/pkg/cloudcommon/app"
  9. "yunion.io/x/onecloud/pkg/cloudcommon/db"
  10. common_options "yunion.io/x/onecloud/pkg/cloudcommon/options"
  11. _ "yunion.io/x/onecloud/pkg/llm/drivers/llm_client"
  12. _ "yunion.io/x/onecloud/pkg/llm/drivers/llm_container"
  13. "yunion.io/x/onecloud/pkg/llm/models"
  14. "yunion.io/x/onecloud/pkg/llm/options"
  15. _ "yunion.io/x/onecloud/pkg/llm/tasks"
  16. llmTask "yunion.io/x/onecloud/pkg/llm/tasks/llm"
  17. )
  18. // StartService the main service starts
  19. func StartService() {
  20. opts := &options.Options
  21. commonOpts := &opts.CommonOptions
  22. dbOpts := &options.Options.DBOptions
  23. baseOpts := &opts.BaseOptions
  24. common_options.ParseOptions(opts, os.Args, "llm.conf", api.SERVICE_TYPE)
  25. llmTask.InitInstantModelSyncTaskManager()
  26. app_common.InitAuth(commonOpts, func() {
  27. log.Infof("Auth complete!!")
  28. })
  29. app := app_common.InitApp(&opts.BaseOptions, false)
  30. cloudcommon.InitDB(dbOpts)
  31. InitHandlers(app, opts.IsSlaveNode)
  32. db.EnsureAppSyncDB(app, dbOpts, models.InitDB)
  33. defer cloudcommon.CloseDB()
  34. // if !opts.IsSlaveNode {
  35. // models.InitializeCronjobs(app.GetContext())
  36. // }
  37. app_common.ServeForeverWithCleanup(app, baseOpts, func() {
  38. cloudcommon.CloseDB()
  39. })
  40. }