我的一个模型类中有一个方法可以删除日期字段已过时的模型对象。例如,我想知道是否有每 24 小时自动运行一次此方法?有点像我的游戏应用程序的系统内 cronjob。
我正在使用 play 2.0.4 - 这是模型方法:
public static void removeHistoricDates() throws ParseException {
List<Book> allBooks = new ArrayList<Book>();
allBooks = find.all();
//Empty-list that out-of-date Books will be added to
List<Book> historicDates = new ArrayList<Book>();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
for(Book Book: allBooks) {
Date BookDate = formatter.parse(Book.date);
Date todayDate = new Date();
if(todayDate.after(BookDate)) {
historicDates.add(Book);
}
}
for(Book outofDate: historicDates) {
find.ref(outofDate.id).delete();
}
}
目前,每当我在我的控制器/应用程序中调用一个方法来证明它有效时,我都会调用这个方法——它确实有效。我希望做的是每 24 小时独立调用一次此模型方法,而不依赖于用户调用的某个应用程序方法。
更新:所以目前我正在查看这个,因为 Heroku 是我正在使用的托管服务。