我对网络应用程序非常陌生,所以这可能是一个非常愚蠢的问题。基本上我想要一个与数据库同步的网络应用程序,它也应该能够发送将与数据库同步的数据。
我的问题是关于停机时间。如果Web应用程序丢失了它的网络连接,是否有办法保存输入的信息,直到它重新获得网络连接并可以将其同步到数据库?
感谢您的帮助!
答案 0 :(得分:1)
理想情况下,您希望使用HTML5本地存储编写http fifo队列。在大多数情况下这是非常矫枉过正,但在工作中我们有一个用于iOS,WP7,Android和Javascript的本机客户端库,并且都提供持久排队和可靠的交付,因此他们必须处理服务器连接因任何原因而退出。
获取/发布 - >进入内存中队列 - >保存到存储 - >发送 - >从存储中删除 - >提高“发送”回调。
如果邮件无法发送,请将其保留在存储空间中并将其重新排入内存中。
有一个计时器事件,每隔几秒就会启动队列(以及在添加/删除消息时踢它)。限制最大同时连接(Http应该是每个客户端2)。
然后,每次加载Web应用程序时,请尝试将本地存储中的所有项目重新读入内存中队列。
然后你有持久/可靠的排队,不会丢失任何消息:)