job_things.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package v1
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/pkg/settings"
  4. "github.com/allanpk716/ChineseSubFinder/internal/types/backend"
  5. "github.com/gin-gonic/gin"
  6. "net/http"
  7. )
  8. func (cb ControllerBase) JobStartHandler(c *gin.Context) {
  9. var err error
  10. defer func() {
  11. // 统一的异常处理
  12. cb.ErrorProcess(c, "JobStartHandler", 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, backend.ReplyCommon{
  20. Message: "ok",
  21. })
  22. }
  23. func (cb ControllerBase) JobStopHandler(c *gin.Context) {
  24. var err error
  25. defer func() {
  26. // 统一的异常处理
  27. cb.ErrorProcess(c, "JobStopHandler", err)
  28. }()
  29. if cb.cronHelper.CronHelperRunning() == true {
  30. go func() {
  31. cb.cronHelper.Stop()
  32. }()
  33. }
  34. c.JSON(http.StatusOK, backend.ReplyCommon{
  35. Message: "ok",
  36. })
  37. }
  38. func (cb ControllerBase) JobStatusHandler(c *gin.Context) {
  39. var err error
  40. defer func() {
  41. // 统一的异常处理
  42. cb.ErrorProcess(c, "JobStatusHandler", err)
  43. }()
  44. c.JSON(http.StatusOK, backend.ReplyJobStatus{
  45. Status: cb.cronHelper.CronRunningStatusString(),
  46. })
  47. }