Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Lift:在将来的一段时间内向客户端发送通知_Scala_Concurrency_Lift - Fatal编程技术网

Scala Lift:在将来的一段时间内向客户端发送通知

Scala Lift:在将来的一段时间内向客户端发送通知,scala,concurrency,lift,Scala,Concurrency,Lift,在lift中,我有一个页面,它接受一些要上传的文件,然后处理这些文件(大约需要一分钟+),我不想让用户等上整整一分钟才看到另一个页面,所以我决定将处理工作放到未来的对象中。我的最终目标是在处理完成后向用户发送一个指向结果页面的链接 以下是我代码的要点: Futures.future { doLongLastingProcessing val linkXml = makeLinkToResults println("Hey I'm done!") S.notice(linkXml)

在lift中,我有一个页面,它接受一些要上传的文件,然后处理这些文件(大约需要一分钟+),我不想让用户等上整整一分钟才看到另一个页面,所以我决定将处理工作放到
未来的
对象中。我的最终目标是在处理完成后向用户发送一个指向结果页面的链接

以下是我代码的要点:

Futures.future {
  doLongLastingProcessing
  val linkXml = makeLinkToResults
  println("Hey I'm done!")
  S.notice(linkXml)
}
我遇到的问题是,在未来完成的任何与S相关的工作似乎都不起作用。工作完成后,我在控制台中看到“嘿,我完成了”,但没有得到通知

我如何才能向用户发送“完成”通知(即使他们已经离开了上载页面)?

您应该查看Lift并从未来向相应的CometActor发送消息。或者,你可能只想完全放弃未来,只想使用演员


请注意,有一些陷阱(例如),但听起来您的CometActor只能返回正常响应。我刚刚查看了维基,很明显你确实有。

这里有一篇文章展示了如何使用comet actors完成你的要求