首先,如果正常运行时间对你很重要,我建议让客户这样做。这可以简单到给他一个名为deploy code的命令。使用你的方法,如果他们的代码中有错误,你的方法需要10分钟的周转(读:停机)来修复它,假设他得到了正确的结果。
也就是说,如果您真的想这样做,您应该创建一个守护进程,它将查找在过去5分钟内修改过的文件。如果检测到一个,它将执行reboot命令。
代码可能看起来像:
import os, time
CODE_DIR = '/tmp/foo'
while True:
if restarted = True:
restarted = False
time.sleep(5*60)
for root, dirs, files in os.walk(CODE_DIR):
if restarted=True:
break
for filename in files:
if restared=True:
break
updated_on = os.path.getmtime(os.path.join(root, filename))
current_time = time.time()
if current_time - updated_on <= 6 * 60: # 6 min
# 6 min could offer false negatives, but that's better
# than false positives
restarted = True
print "We should execute the restart command here."