【发布时间】:2016-02-11 12:22:56
【问题描述】:
我想要某种方式在不同请求之间保持变量。
我的情况:
我有一个在远程机器上执行命令的 symfony2 服务类。 我不想通过某种方式来控制该执行,以便在之前的执行尚未完成时停止。
我听说过 Semaphores,但我不确定这是否可以解决问题,以及这是否适合做这样的事情。
我想象的原理很简单。
Client1 向服务器发送请求,服务器开始在远程机器上执行代码。在此之前,它会检查是否设置了执行变量,如果没有,它会设置执行正在进行的变量。
Client2 以相同的逻辑发送请求,但现在设置了执行过程变量,这意味着远程服务器很忙,所以请求停止,服务器向客户端发送响应,表示服务当前很忙。
我怎样才能做到这一点?
【问题讨论】:
-
任何形式的持久存储,最常见的是磁盘上的数据库或文件。像 reddis 这样的键/值存储也是一个不错的选择
-
服务器一次不能执行超过一件事吗?这通常是服务器的用途