我有一个必须重复启动作业的应用程序。但是(是的,如果没有但是......)我希望用户在应用程序中定义他们的备份频率。
在最坏的情况下,他们将不得不选择:
- 每周,
- 日常的,
- 每12小时,
- 每 6 小时,
- 每小时
在最好的情况下,他们应该能够使用 crontab 表达式(例如参见文档)
这个怎么做?我是否每分钟启动一项检查上次执行时间、频率的作业,然后在需要时启动另一项作业?我是否创建一种将由 masterjob 执行的队列?
欢迎任何线索,想法,意见,最佳实践,经验!
编辑:使用 Akka 调度程序解决了这个问题。好的,这是一个技术解决方案,而不是设计答案,但一切都很好。
每个用户定义的重复都是一个参与者,每个周期都向新参与者发送消息以执行实际作业。