PHP Symfony2信号量

PHP Symfony2信号量,php,symfony,semaphore,Php,Symfony,Semaphore,我想用某种方法在不同的请求之间持久化变量 我的情况: 我有一个symfony2服务类,它在远程机器上执行命令。 我不想用某种方法来控制执行,这样,如果上一次执行还没有完成,它就会停止 我听说过信号灯,但我不确定这是否会奏效,也不确定这是否是做类似事情的合适方式 我想象的原理很简单 客户端1向服务器发送请求,服务器开始在远程计算机上执行代码。在此之前,它检查是否设置了执行变量,如果未设置,则设置正在执行的变量 Client2使用相同的逻辑发送请求,但现在设置了execution process变量

我想用某种方法在不同的请求之间持久化变量

我的情况:

我有一个symfony2服务类,它在远程机器上执行命令。 我不想用某种方法来控制执行,这样,如果上一次执行还没有完成,它就会停止

我听说过信号灯,但我不确定这是否会奏效,也不确定这是否是做类似事情的合适方式

我想象的原理很简单

客户端1向服务器发送请求,服务器开始在远程计算机上执行代码。在此之前,它检查是否设置了执行变量,如果未设置,则设置正在执行的变量

Client2使用相同的逻辑发送请求,但现在设置了execution process变量,这意味着远程服务器正忙,所以请求停止,服务器向客户端发送服务当前正忙的响应


如何实现这一点?

当服务启动时,在磁盘上创建一个文件。执行命令后,删除该文件。其他请求检查文件是否存在,并仅在文件不存在时执行命令。

当服务启动时,在磁盘上创建一个文件。执行命令后,删除该文件。其他请求检查文件是否存在,并仅在文件不存在时执行命令。

任何形式的持久存储,最常见的是数据库或磁盘上的文件。像reddis这样的键/值存储也是一个不错的选择服务器一次不执行多件事情吗?这通常是服务器对任何形式的持久性存储的响应,最常见的是磁盘上的数据库或文件。像reddis这样的键/值存储也是一个不错的选择服务器一次不执行多件事情吗?这通常是服务器的用途