构建流程和恢复php应用程序

时间:2018-02-09 09:57:32

标签: php

我在windows中有应用程序,当系统中的新事件被调用到PHP脚本来运行流程时; 流意味着在服务器上的DB行中创建一行,上传图像并更新数据库,以及另外几个服务器调用 此外,当服务器出现错误或问题时,本地机器需要在本地数据库中保留相同的行并保持当前位置,这样当恢复脚本看到需要恢复时,他将仅从该部分运行并且不是从一开始。

现在,我有一个函数调用其他函数,如:

***伪代码****

{{1}}

我想创建一个像:

这样的开关案例
{{1}}

我该如何做,比如事件队列,如果我想要恢复失败的事件,那么确切地知道从哪里开始

当我想要恢复时,我需要检查本地数据库中的部分并以服务器行为例

但我如何防止切换案例中的重复代码

也许我需要一个队列管理器,交换机不是一个好的解决方案? 感谢

1 个答案:

答案 0 :(得分:1)

如果您没有将break添加到您的切换案例中,它将根据您的切入点充当漏斗。

switch ($enum_action){ //<-- this should be a variable that contains yours case name
    case "create_db_row":
        $this->createDBRow();
        // Break missing on purpose to allow further execution
    case "get_images":
        $this->getimagesdata();
        // Break missing on purpose to allow further execution
    case "upload_images":
        $this->uploadImage();
        $this->updateServerDB();
        break;
    default:
        throw new \Exception("Unknown case");
}