akka 定时任务实例for play2.1

转载 2015年11月18日 14:12:53



    有时需要设定将来发生的事情,这时该怎么办?ActorSystem搞定一切!
    在那儿你能找到scheduler方法,它返回一个 akka.actor.Scheduler 实例, 这个实例在每个Actor系统里是唯一的,用来指定一段时间后发生的行为。
    请注意定时任务是使用ActorSystem的MessageDispatcher执行的.

    你可以计划向actor发送消息或执行任务的代码 (函数或Runnable).
    你会得到一个Cancellable类型的返回值,你可以调用cancel来取消定时任务的执行。

package controllers   
import play.api._
import play.api.mvc._  
import play.libs.Akka  
import akka.actor._
import scala.concurrent.duration._
import play.api.libs.concurrent.Execution.Implicits._
object Application extends Controller {   
def index = Action {    
// say hello     

Logger.info("hello, index action started")    

val Tick = "tick"      val Tack = "tack"    
val tickActor = Akka.system.actorOf(Props(new Actor {  
def receive = {          case Tick => Logger.info("that still ticks!")  
case Tack => Logger.warn("... 7 seconds after start, only once")       
}      }))      
// Repeat every 5 seconds, start 5 seconds after start  


Akka.system.scheduler.schedule(        5 seconds,        5 seconds,      
tickActor,        Tick      )        
// do only once, 7 seconds after start  
Akka.system.scheduler.scheduleOnce(7 seconds, tickActor, Tack)   
Ok(views.html.index("Your new application is ready."))  
}
}

akka入门-定时器

使用定时器可以实现将来发生的事情进行计划执行。以下代码演示了过一段时间向Actor发送消息。 1.编写Actor 在Actor中只是打印出接收到的消息 import akka.actor.U...
  • liuchangqing123
  • liuchangqing123
  • 2015年05月17日 21:37
  • 3248

定时器 (Scala)

有时需要设定将来发生的事情,这时该怎么办? ActorSystem 搞定一切! 在那儿你能找到 scheduler 方法,它返回一个 akka.actor.Scheduler 实例, 这个实例在每个A...
  • u013571243
  • u013571243
  • 2015年05月10日 18:27
  • 3330

使用AKKA做分布式爬虫的思路

上周公司其他小组在讨论做分布式爬虫,我也思考了一下,提了一个方案,就是使用akka分布式rpc框架来做,自己写master和worker程序,client向master提交begin任务或者其它爬虫需...
  • qq_20641565
  • qq_20641565
  • 2017年03月26日 02:56
  • 3844

【笔记】play2定时任务设置

之前用play开发应用时,涉及到定时任务,都是在数据库里实现的。 后来偶然发现,其实在play里面也是可以设置定时任务的,主要使用Akka。 Akka 是一个用 Scala 编写的库,用于简化编写容错...
  • chj362
  • chj362
  • 2016年05月04日 14:23
  • 271

scala定时任务调度器

一个用scala写的,在linux下执行的定时任务调度器 定时任务时常会有一个定时任务依赖另一个定时任务,这份代码就是用来解决这个问题的 package com.tcl.bigdata.yhb.tim...
  • yhb315279058
  • yhb315279058
  • 2015年12月30日 21:27
  • 2994

Play 1.x框架学习之四:定时作业调度 (job scheduler In play framework)

Play框架提供了定时执行任务的功能模块,也就是Job。大家可以用来做一些定时的任务,如数据汇总,定时同步等。play使用了Quartz项目。可以轻松地定制调度任务的时间。Play框架还预置了几种调度...
  • maguanghui_2012
  • maguanghui_2012
  • 2017年01月13日 17:57
  • 501

play framework 添加启动任务、定时任务

前人总结了很多东西,真的受益良多,有一个详细的博客在这里,看完立马就明白,我这里只是做一个记录,方便日后查找 http://desert3.iteye.com/blog/1586708 Play ...
  • fhzaitian
  • fhzaitian
  • 2015年07月21日 09:55
  • 3361

Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务

Play framework是一个web应用程序,大部分的应用逻辑都是通过在Controllers中以响应HTTP请求的方式来完成的。 有时候你可能需要执行一些和HTTP请求无关的应用逻辑。这在...
  • maguanghui_2012
  • maguanghui_2012
  • 2017年02月06日 13:16
  • 1214

play framework学习笔记之 非HTTP环境下执行任务使用job

Asynchronous execution using jobs一下略一下,以后再写
  • suncaishen
  • suncaishen
  • 2011年04月18日 15:39
  • 1551

playframework 2.2 创建定时任务计划程序

通过AkkA及Ator 在play2下实现任务计划程序的开发。 操作流程: 创建全局配置类文件 /app/Global.scala 代码内容如下: /** * Created b...
  • w_j_w2010
  • w_j_w2010
  • 2015年11月18日 15:08
  • 1388
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:akka 定时任务实例for play2.1
举报原因:
原因补充:

(最多只允许输入30个字)