php 通过数据库的进度条

php progress bar through database

我需要在服务器端 运行 长(几分钟到几小时)的 matlab 代码并向用户发送其进度状态 (0-100%)。我无法将数据直接发送到客户端,因为客户端可能会在数小时后断开连接并检查状态。

我应该通过数据库来做吗?考虑通过 matlab/php 更新数据库,而客户端(php 通过 javascript/ajax)可以每隔几秒查询一次数据库,但我担心它非常 "expensive" (许多阅读 &只为一个用户写操作)。

我该怎么办? 顺便说一句,它是一个内部网络,几十个用户,仅此而已。

您没有提到您使用的数据库类型。 如果它是 mysql 并且因为你只在一个有几十个用户的内部网络中:是的你可以使用数据库。如果你想保持 read/write-operations 低,你可以为此目的使用 MEMORY-Database-Engine。

此外,您可以使用 Memcache 进行进程间通信。一个进程写入内存缓存,另一个进程读出值。