【发布时间】:2019-03-24 21:23:14
【问题描述】:
我正在 Raspberry Pi Zero 中开展一个项目,使用 apache 作为 Web 服务器。该网站使用 PHP,并根据用户输入更新服务器中的 XML 文件。 还有一个 python 程序程序与 Web 服务器并行运行。这个 python 程序不断读取 XML 并从 XML 中获取值,将它们存储在本地并检查它们的变化,如果有任何变化,它会与外部设备执行一些 UART 通信,有时基于来自设备的这些外部通信,python 也更新 XML。
Python 每 2 秒读取一次 XML,有时问题是,当 python 执行读取操作时,如果用户提供输入并且 PHP 将新值插入到相同的 XML 中,python 会崩溃。客户端希望将 2 秒延迟减少到 0.1 秒,这意味着 Python 将快速读取,并且 PHP 的任何更改都会使其崩溃。
有没有办法在 python 和 PHP 之间获得某种文件锁定,这样,当 Python 正在读取或写入 PHP 时,如果 PHP 正在写入,则 Python 会等待。 Python 优先于 PHP。
【问题讨论】:
标签: php python xml file-handling file-locking