私はプレイ フレームワーク バージョン 1.2.5 を使用しています。セッションを 5 分間更新しなかったすべての接続済みユーザーを取得し、接続ステータスを「切断済み」に設定したいと考えています。
ここに私のモデルがあります:
@Entity
public class User extends Model {
@Required
public String name;
public boolean isConnected;
public Date lastConnectionDate;
}
そして、ユーザーを更新するジョブは次のとおりです。
Date fiveMinsAgo = new Date(new Date().getTime() - 5 * 60);
List<User> list = User.find("select u from User u where u.isConnected = true and u.lastConnectionDate < ?", fiveMinsAgo).fetch();
for (User user : list) {
// We set these accounts as disconnected
user.isConnected = false;
user.save();
}
このコードは機能していないようです。ユーザーのlastConnectionDateが 5 分前でなくても、ユーザーは「切断済み」に設定されます。私は何か間違ったことをしましたか?
私がやりたいことを行うためのより良い方法/コードはありますか? (UPDATE コマンドのように)
ご協力ありがとうございました