daemon_things.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package v1
  2. import (
  3. "net/http"
  4. backend2 "github.com/allanpk716/ChineseSubFinder/pkg/types/backend"
  5. "github.com/allanpk716/ChineseSubFinder/pkg/settings"
  6. "github.com/gin-gonic/gin"
  7. )
  8. func (cb ControllerBase) DaemonStartHandler(c *gin.Context) {
  9. var err error
  10. defer func() {
  11. // 统一的异常处理
  12. cb.ErrorProcess(c, "DaemonStartHandler", err)
  13. }()
  14. if cb.cronHelper.CronHelperRunning() == false {
  15. go func() {
  16. cb.cronHelper.Start(settings.GetSettings(true).CommonSettings.RunScanAtStartUp)
  17. }()
  18. }
  19. c.JSON(http.StatusOK, backend2.ReplyCommon{
  20. Message: "ok",
  21. })
  22. }
  23. func (cb ControllerBase) DaemonStopHandler(c *gin.Context) {
  24. var err error
  25. defer func() {
  26. // 统一的异常处理
  27. cb.ErrorProcess(c, "DaemonStopHandler", err)
  28. }()
  29. if cb.cronHelper.CronHelperRunning() == true {
  30. go func() {
  31. cb.cronHelper.Stop()
  32. }()
  33. }
  34. c.JSON(http.StatusOK, backend2.ReplyCommon{
  35. Message: "ok",
  36. })
  37. }
  38. func (cb ControllerBase) DaemonStatusHandler(c *gin.Context) {
  39. var err error
  40. defer func() {
  41. // 统一的异常处理
  42. cb.ErrorProcess(c, "DaemonStatusHandler", err)
  43. }()
  44. c.JSON(http.StatusOK, backend2.ReplyJobStatus{
  45. Status: cb.cronHelper.CronRunningStatusString(),
  46. })
  47. }