AKKA Actor Scheduler
If I want the actor work like cron repeat the messages. I will do like this.
val schedulerSyncActor = Akka.system.actorOf(SchedulerSyncActor.props, name = "scheduler-sync-actor")
logger.info("init the schedule jobs-----------")
Akka.system.scheduler.schedule(
0 seconds,
60 seconds,
schedulerSyncActor,
"fire-in-the-hole"
)
logger.info("schedulerSyncActor executing every " + contextio_sync_interval + " seconds")
If I just want to delay the msg for some time
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
import play.api.Play.current
import scala.concurrent.duration._
case msg: DelayResumeParseCOMPersistMessage =>{
logger.debug("System will send the message delay " + msg.delay + " seconds")
context.system.scheduler.scheduleOnce(msg.delay second, self, msg.message)
}
The idea is that the DelayResumeParseCOMPersistMessage will be received, and we will delay some seconds, and then, the the message content back to itself again. That is how the self work.
References:
http://doc.akka.io/docs/akka/current/scala/scheduler.html
分享到:
相关推荐
- **Scheduler**:定时任务和周期性任务是许多应用的常见需求,Akka Scheduler可以轻松实现这些功能。 - **Circuit Breaker**:断路器模式是一种防止服务雪崩的技术,当依赖的服务不可用时,断路器会暂时阻止请求...
- Scheduler可以安排任务在actor系统中按预定计划运行。 - Duration用于表示时间间隔。 - Akka扩展,如微内核和断路器,提供了额外的高级特性。 6. 常见模式和实践: - 消息节流,限制消息的接收速率以避免过载...
AKKA 提供了多种方式来控制 Actor 的生命周期,例如使用 `context.stop` 方法来终止 Actor 或使用 `PoisonPill` 来通知 Actor 自行终止。 ```scala class LifecycleActor extends Actor { def receive = { case ...
Actor 是 Akka 中最基本的并发单元,每个 Actor 都是一个独立的对象,能够接收并处理来自其他 Actor 的消息。本节详细讲解了 Actor 的定义、生命周期以及消息处理机制。 ##### 2.4 监督与监控 监督机制是 Akka 中...
Akka 通过 Actor 模型来实现这一点,Actor 模型允许开发者以简单的方式构建可扩展且响应迅速的应用程序。 ##### 1.3 如何开始使用 Akka? 为了开始使用 Akka,你需要熟悉以下几个概念: - **Actor Systems**:管理 ...
在Akka这个强大的actor系统中,调度程序(Scheduler)是一个至关重要的组件,它允许开发者安排在未来某一时刻执行任务,如定期发送消息、执行清理操作等。`akka-mock-scheduler`是一个专为测试设计的工具,它为Akka...
Actor Systems 是 Akka 中的基本构建单元,它们负责管理 Actor 的生命周期以及它们之间的通信。每个 Actor System 都有自己的配置信息,用于控制 Actor 的行为。 **2.2 什么是 Actor?** Actor 是 Akka 中的核心...
最后,Akka文档也可能包含了高级话题,如事件总线(EventBus)、日志记录(Logging)、调度器(Scheduler)、定时器(Duration)以及Akka扩展(Akka Extensions)等。这些话题通常会涉及到如何构建大规模和复杂的...
这部分介绍了Akka提供的一些实用工具,包括Event Bus、Logging、Scheduler等。 #### 8. How To: Common Patterns 这部分介绍了Akka中常用的模式,包括如何调度周期性消息、单次使用的Actor树等。 #### 9. ...
- **Actor定义**:Akka的Actor是并发处理的基本单元,每个Actor都有自己的执行线程或者线程池,确保了独立的执行环境。 - **消息传递**:Actor之间通过发送和接收消息进行通信,这种模式减少了竞态条件,提高了...
### Akka:面向Actor模型的并发与分布式计算框架 #### 1. Akka概览 Akka是由Typesafe公司开发的一款高性能、高并发、分布式、容错性良好的工具包,旨在简化并行与分布式系统的构建。它基于Actor模型,允许开发者以...
【Mesos Scheduler 通过 Akka 实现】 Mesos 框架是一种分布式系统的基础架构,它允许多个应用(称为框架)共享计算资源,如 CPU 和内存,这些资源由 Mesos 的集群管理器统一调度。在 Mesos 中,框架扮演着任务调度...
**位置透明性**意味着Akka可以无缝地处理本地和远程Actor之间的通信,开发者无需关心Actor是在本地还是远程机器上。 ##### 2.6 Akka与Java内存模型 Akka设计时考虑了与Java内存模型的兼容性,确保Actor内部的状态...
在Scala中,我们常常利用Akka框架来实现RPC,因为Akka提供了强大的actor模型和消息传递机制,非常适合构建高并发、低延迟的分布式系统。 Akka是基于Actor模型的并发库,它允许我们将计算任务分解为独立的、无状态的...
通过创建一个简单的Actor,演示如何在Akka环境中发送和接收消息,从而对Actor模型有一个直观的认识。基本的helloworld DEMO通常展示了一个Actor如何响应消息,以及如何创建Actor系统和管理Actor的生命周期。 接着,...
- **Scheduler:** The Scheduler enables scheduling periodic tasks within an actor system. - **Duration:** Duration is a class for representing time intervals in Akka. - **Circuit Breaker:** The Circuit...
### Scala编程实战——深入理解Akka与Actor模型 #### 一、引言 随着大数据和分布式系统的兴起,高效可靠的通信机制变得尤为重要。Scala作为一种融合了面向对象编程和函数式编程特性的现代编程语言,因其简洁性和...
java8 ...system.scheduler 实现的,如果要结束定时任务,也需要通过程序触发 com.oracle.sec2.thread_objects.SimpleMessagesInAkka 还有更简化的写法,只用一个Actor com.oracle.sec2.thread_objec
它讲解了Play的MVC(模型-视图-控制器)架构,并介绍了如何利用Akkaactor系统进行并发处理。 2. **数据库开发手册**: Play支持多种数据库,如SQLite、MySQL、PostgreSQL等。手册会详细介绍如何配置数据库连接,...