我已经用 Python 编写了一个自定义测试工具(由于大量自定义逻辑,现有的东西并不适合)。Windows 任务计划程序每天每小时启动一次。由于我的测试现在需要 2 个多小时才能运行并且还在增长,所以我遇到了问题。现在我只是检查系统时间并且什么都不做,除非hour % 3 == 0
,但我不喜欢那样。我有一个文本文件,其中包含:
# This is a comment
LatestTestedBuild = 25100
# Blank lines are skipped too
LatestTestRunStartedDate = 2011_03_26_00:01:21
# This indicates that it has not finished yet.
LatestTestRunFinishDate =
有时,当我手动启动测试时,它可能随时发生,包括 12:59:59.99 我想尽可能地删除竞争条件。我宁愿付出一些额外的努力,而不用担心发生某事的实际可能性。所以,我认为以原子方式锁定这个文本文件是最好的方法。
我正在使用Python 2.7
,Windows Server 2008R2 Pro
和Windows 7 Pro
. 我不想安装额外的库(Python
尚未“出售”给我的同事,但我可以在本地复制一个实现这一切的文件,前提是许可证允许)。
所以,请提出一个好的,防弹的方法来解决这个问题。