Hey guys,
I have a page, that want to render every 10sec. i use ActorPing.schedule, which same to the demo in lift website.
However, i found that, when use load page in the first cycle of 10sec, the page will not be rendered by comet. And, everything work fine, after 10sec.
Here is the code:
package code.comet
class hotjobs extends CometActor {
private var jobs:List[Jobs] = Nil
def render = "#hot" #> <table class="table table-striped">{jobs.flatMap(jobsExtrator _)}</table>
def jobsExtrator(j:Jobs):NodeSeq=
<tr>
<td>{modifyDate(j.createdAt.toString())}</td>
<td>{j.title}</td>
<td>{j.companyName}</td>
<td>{j.location}</td>
<td style="text-align: right;"><button type="button" datatoggle="button" onClick={JsCmds.RedirectTo("/jobDetail.html?jobid="+
j.id)}>立即申请</button></td>
</tr>
def modifyDate(s:String):String={
val b = s.split(" ")
return b(1)+"-"+b(2)+"-"+b(3)
}
ActorPing.schedule(this, Message, 10000L)
override def lowPriority = {
case Message => {
reRender()
jobs = Jobs.findJobsinTop
ActorPing.schedule(this, Message, 10000L)
}
}
}
case object Message
Chenguang He