我正在开发一个足球经理代码来处理朋友之间的游戏,人们需要在这些游戏中编译他们的团队,以及当真正的比赛开始时谁拥有能够更好地玩游戏的玩家。
显然,一旦游戏开始,玩家就不能再改变他们的团队了。在数据库中,每个匹配都有一个属性"匹配打开"这决定了球员是否仍然可以改变自己的球队。一旦设置了值,玩家就不能再编辑他们的团队了。
所以基本上我有一个日期时间,当该日期发生时,数据库上的值必须设置为false。
我想了很多替代方案我会解释你:
最后一个是我喜欢开发的解决方案,我知道有一些库可以使用调度,但我真的不知道这样的东西是否可能,你会如何开发这个东西。
任何提示都将受到赞赏。
答案 0 :(得分:1)
也许Quartz Framework可能会让你感兴趣。它有一个Job接口,可以像Cron任务一样进行调度。
答案 1 :(得分:1)
以下是我们使用的示例:
@Configuration
@EnableScheduling
public class SchedulerConfiguration {
@Scheduled(cron = "15 * * * * ") //every 15 minutes
public void scheduledTask() {
doSomethingInYourDatabase();
}
}
答案 2 :(得分:0)
我建议是使用spring scheduler(如果你使用的是spring)还是简单的java executor服务来运行一个方法,让我们说在上一次执行后延迟5分钟。看看http://tutorials.jenkov.com/java-util-concurrent/executorservice.html
实际上,您只需要运行一个简单的更新查询,例如
update match set match_open = false where start_time = (Sysdate-X);
答案 3 :(得分:0)
可能是你正在使用春天。您可以添加Service类(@Service)并使用@Scheduled带注释的方法,该方法将帮助您按定义的时间间隔执行任务。查看详细信息spring schedulling
@Scheduled(cron="*/5 * * * * MON-FRI")
public void doSomething() {
//something that should execute on weekdays only
}