package org.iatoki.judgels.raguel;
import akka.actor.ActorSystem;
import akka.actor.Scheduler;
import org.iatoki.judgels.api.jophiel.JophielClientAPI;
import org.iatoki.judgels.jophiel.activity.UserActivityMessagePusher;
import org.iatoki.judgels.jophiel.activity.UserActivityMessageServiceImpl;
import play.db.jpa.JPAApi;
import scala.concurrent.ExecutionContextExecutor;
import scala.concurrent.duration.Duration;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.concurrent.TimeUnit;
/**
* @deprecated Temporary class. Will be restructured when new module system has been finalized.
*/
@Singleton
@Deprecated
public final class RaguelThreadsScheduler {
@Inject
public RaguelThreadsScheduler(ActorSystem actorSystem, JPAApi jpaApi, JophielClientAPI jophielClientAPI) {
Scheduler scheduler = actorSystem.scheduler();
ExecutionContextExecutor context = actorSystem.dispatcher();
UserActivityMessagePusher userActivityMessagePusher = new UserActivityMessagePusher(jpaApi, jophielClientAPI, UserActivityMessageServiceImpl.getInstance());
scheduler.schedule(Duration.create(1, TimeUnit.SECONDS), Duration.create(1, TimeUnit.MINUTES), userActivityMessagePusher, context);
}
}