我使用的是Python WebServer(CherryPy),但我想这个问题更开放,而且相当普遍。目前,我在点击按钮时有一些Ajax调用槽JQuery load
,触发一些计算,以文件生成结束。
目前,一旦后台线程开始处理,我的load
会在页面上返回指向服务器上生成的未来文件的链接。有几个文件要生成,整个过程可能需要几分钟。如果只能逐个文件地逐步获取文件,人们将如何才能显示文件链接? ...目前,链接已经死亡,直到有文件落后,我无法告诉用户链接何时生效。
更新:感谢JB Nizet。现在有人可以建议Python Thread安全数据结构编写吗?不太了解这个主题,也不知道从哪里开始。
答案 0 :(得分:1)
轮询服务器以每n秒获取最新生成的文件(或生成的文件的完整列表),并在列表完成后停止轮询,或者在第一个ajax查询(启动生成过程的查询)之后停止轮询已经完成了。
生成文件的线程应该使共享的,线程安全的数据结构中的生成文件列表可用。