我正在寻找方法,以改善一个网页,启动一个长期运行(>2分钟)服务器端任务。当前版本的页面只是时钟的整个任务,这可能是非常令人沮丧的用户。
关于如何改进用户体验,我已经有了一些想法,但它们都在一定程度上涉及到AJAX的使用。由于我以前在这个项目上的经验,我知道并不是所有的用户都启用或可用了JavaScript。
假设服务器端进程已经尽可能优化,我还能做什么来尽可能地改善所有用户的体验呢?
发布于 2010-11-02 14:20:44
将长期运行的服务器进程移出范围。
当用户启动任务时,应用程序可以向某种类型的队列写入消息;这通常是非常快的,因此用户可以很快地获得控制权。一旦消息排队,另一个专门的进程(服务、计划的任务、cron作业等)抓住它并在第一次机会时执行适当的任务。
对于启用了javascript的用户,您可以设置一个计时器,通过AJAX检查任务的状态,并在任务完成时提醒他们。
您可以通过将非javascript用户的挂起和完成的任务显示在页面上一个常见的可见位置来通知他们。当然,他们必须继续浏览才能从中受益,所以您还需要明确,如果用户正在等待任务完成,他们应该偶尔刷新页面。
发布于 2010-11-02 14:22:54
在数据库中创建表(或内存中的object)
https://stackoverflow.com/questions/4078530
复制相似问题