gpt4 book ai didi

python - 使用缓存的退出代码退出程序

转载 作者:行者123 更新时间:2023-11-30 15:31:36 25 4
gpt4 key购买 nike

我有一个“healthchecker”程序,它每 10 秒调用一次“prober”来检查服务是否正在运行。如果探测器退出并返回代码 0,则运行状况检查器认为测试的服务正常。否则,它认为它不起作用。

我无法更改健康检查器(我无法让它以更大的间隔进行检查,或者使用比生成进程并检查其退出代码更好的通信协议(protocol))。

也就是说,我不想真正每 10 秒探测一次服务,因为这太过分了。我只想每分钟都探查一下。

我的解决方案是让探测器保留最后一个答案的“缓存”,有效期为 1 分钟,然后在该缓存过期时真正进行探测。

这看起来不错,但考虑到程序必须退出(以返回退出代码),我很难想出一个合适的方法来做到这一点。到目前为止,我最好的选择是将我的探测器转换为守护进程(将缓存保留在内存中)并创建一个客户端来查询它并以其响应退出,但它似乎工作太多(并处理线程,并且等等)。

另一种方法是使用 SQLite/memcached/redis。

还有其他想法吗?

最佳答案

由于没有人真正提出任何建议,我将在这里放弃我的想法。如果您需要示例,请告诉我,我将提供一个示例。

最简单的方法是序列化一个包含系统运行状况和上次检查的 time.time() 的字典。在程序开始时解开字典,检查时间,如果小于 60 秒的时间间隔,则退出。否则像平常一样检查运行状况并缓存它(随着时间)。

关于python - 使用缓存的退出代码退出程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com