更新时间:2023-09-30 09:00:16
好.这是我构建的调度程序的工作代码: 模块:
Ok. Here working code of scheduler I've built: Module:
class JobModule extends AbstractModule with AkkaGuiceSupport {
def configure() = {
bindActor[SchedulerActor]("scheduler-actor")
bind(classOf[Scheduler]).asEagerSingleton()
}
}
计划程序:
class Scheduler @Inject() (val system: ActorSystem, @Named("scheduler-actor") val schedulerActor: ActorRef)(implicit ec: ExecutionContext)
{
system.scheduler.schedule(
0.microseconds, 5.minutes, schedulerActor, "update")
system.scheduler.schedule(
30.minutes, 30.days, schedulerActor, "clean")
}
演员:
@Singleton
class SchedulerActor @Inject() (updater: Updater) extends Actor {
def receive = {
case "update" => updateDB()
case "clean" => clean()
}
def updateDB(): Unit ={
Logger.debug("updates running")
}
def clean(): Unit ={
Logger.debug("cleanup running")
}
}
您还需要在application.conf
中添加模块:
You also need to add your module in application.conf
:
play.modules.enabled += "modules.JobModule"
希望这会对某人有所帮助
Hope this will help someone