2011-10-27 37 views
2

在電梯中,我有一個頁面,接受幾個文件上傳,然後處理文件(這需要大約一分鐘+)我不想讓用戶等待整整一分鐘才能看到另一個頁面,因此我決定將處理工作放入Future對象中。我的最終目標是在處理完成後向用戶發送鏈接到結果頁面。電梯:從未來發送通知到客戶端

這裏是我的代碼的要點:

Futures.future { 
    doLongLastingProcessing 
    val linkXml = makeLinkToResults 
    println("Hey I'm done!") 
    S.notice(linkXml) 
} 

我得到的問題是,未來內完成任何S-相關的東西似乎並沒有工作。工作結束後,我看到控制檯中的「嘿,我完成了」,但沒有注意到。

如何向用戶發送「完成」通知(即使他們已經離開上傳頁面)?

回答

3

你應該看Lift的CometActors併發送消息給來自Future的相應CometActor。或者你可能只想完全放棄未來,只是使用Actors。

請注意,有幾個小問題(例如not having access to S),但它聽起來像您的CometActor可以返回正常響應。我剛剛查看了wiki,顯然你的確有access to S.notice within your CometActor

+0

+1現在,當我明天上班我會嘗試了這一點問。 – Dylan

0

下面是一篇文章,介紹如何做你正在使用彗星演員post

相關問題