Skip to content

Conversation

@iyashjayesh
Copy link
Collaborator

@iyashjayesh iyashjayesh commented Oct 7, 2025

What does this do?

This PR introduces gocron-ui, a lightweight, real-time web interface for monitoring and controlling gocron scheduled jobs. It provides a complete solution for visualizing job schedules, tracking execution status, and managing jobs through an intuitive web dashboard.

README

Key Features:

  • Real-time Monitoring: WebSocket-based live updates (1-second refresh) for job status, next runs, and execution history
  • Job Control: REST API endpoints to manually trigger jobs, remove them from scheduler, and view upcoming executions
  • Scheduler Management: Start/Stop scheduler operations via API
  • Job Creation: API support for creating new jobs (duration, cron, daily schedules) with custom parameters and tags
  • Embedded UI: Static files (HTML/CSS/JS) compiled into binary using Go embed - zero external dependencies
  • Tagging System: Organize and filter jobs by tags
  • Schedule Preview: Display next 5 upcoming executions for each job
  • Modern UI: Responsive vanilla JavaScript interface with no build step required
    The UI server is completely optional and does not affect existing gocron usage patterns.

Have you included tests for your changes?

Current State:

  • Comprehensive working example with 14 job types (exmaples/main.go)
  • Functional testing via example application
  • Unit tests to be added in follow-up PR

@iyashjayesh
Copy link
Collaborator Author

@JohnRoesler I’ve ensured the PR follows best practices. Kindly review it and let me know your feedback.

@iyashjayesh
Copy link
Collaborator Author

iyashjayesh commented Oct 7, 2025

@JohnRoesler If the changes look good to you, please let me know so we can go ahead and merge.

@JohnRoesler
Copy link
Collaborator

@iyashjayesh wow! This looks amazing. I fixed the golangci file, but now there are some lint complaints for you to address. If you run golangci-lint run --fix locally, it will fix some and tell you all those that need addressing

@iyashjayesh
Copy link
Collaborator Author

@JohnRoesler The lint issues are resolved. Ready to merge once you’ve reviewed.

Copy link
Collaborator

@JohnRoesler JohnRoesler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MVP! MVP! Excited to see where this goes 😄 Let's add to the gocron readme about it!

@JohnRoesler JohnRoesler merged commit bc62352 into go-co-op:main Oct 8, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants