我正在构建一个软件系统,它使用Javascript来显示服务器任务的可编辑队列(比如程序xyz一次在服务器上做一件事)。
现在UI QUeue工作得很好,但是如果有人关闭他们的浏览器,JavaScript队列UI应用程序的状态就会丢失(我的linux盒子上的程序应该执行的所有任务)
那么如何实现呢?我是否需要一个在我的RedHat服务器上作为服务运行的Web应用程序,与我编写的面向对象的JavaScript应用程序进行通信。服务器任务已经通过PHP被征用。
PHP可以实现吗?我想在此时避免使用数据库。 Java / Tomcat解决方案也让人想起。你怎么看?感谢您阅读此内容。
答案 0 :(得分:0)
您需要将服务器上的队列状态至少保留在内存中,最好也保留在磁盘上。要在内存中表示,请创建两个类Queue
和QueueEntry
,前者由后者组成。如果只持续存储器,则在服务器进程重新启动时将丢失队列状态 - 如果要通过重新启动来维护状态,请写入磁盘。假设Java,必须使用Serializable创建这些类ReadWriteLock并写出磁盘以避免争用。
使用数据库反映更新
不是序列化,而是有一个队列表条目。添加一列以指示订单 - 很可能是插入日期。