I am developing a reporting module using Spring Boot, PostgreSQL, and React. Users can create reports by setting a title, adding widgets (charts and tables), and generating a PDF report. Additionally, users can schedule the report to be sent via email at specific times (e.g., every Thursday at 3:00 PM).
How to send scheduled reports based on user-defined time intervals?
Users defined schedules like "Send this report via email every Wednesday at 10:00 AM.". However, Spring Boot's @Scheduled annotation only works for fixed intervals. How can I schedule dynamic tasks based on user-defined times?
What is the best approach to solve these problems?