gpt4 book ai didi

python - 我如何为我的员工组织健康检查(带有 python 代码的 Docker)?

转载 作者:行者123 更新时间:2023-12-02 19:45:12 24 4
gpt4 key购买 nike

在我的项目中,我有一个 REST API(Flask 服务器)和工作人员(在 Docker 容器中工作的 python 脚本 - 简单的无限循环,向服务器发出请求并开始工作)。 Flask-server 向 worker 发送任务。

当然,有些事情可能会出错,Docker 容器可能会崩溃。在那一刻,我希望服务器知道它。您能提供一种简单的方法吗?

最佳答案

使用 Redis 做这类事情非常容易,它是一个非常轻量级、快如闪电的内存数据结构服务器。它可以通过 bashPythonPHP 的客户端在整个网络中提供列表、散列、集合、有序集合、整数、原子整数、字符串等服务、C/C++ 和其他一切。

我会使用一个简单的 KEY 并在 key 上设置一个 EXPIRE,比如 10s。然后网络中的每个服务器和每个客户端只需至少每 10 秒设置一次由其主机名(或函数)命名的 KEY,这将重置其超时。如果有人查询 key 并且 10 秒内未设置 key ,他们就会知道客户端/服务器或主机/进程已死亡。

文档是 here .


另一种更简单的通信方式是通过文件系统。每个工作人员必须每 N 秒“触摸”(创建)一个名为 /tmp/WORKERXXX.alive 的文件。想要检查工作人员是否还活着的进程然后每 N+1 秒检查一次文件是否存在并删除它们。如果文件不存在,则重新启动 worker。

触摸文件不一定会干扰您的工作人员的代码。它可以简单地在启动时创建一个额外的线程,运行一个无限循环,休眠 N 秒,然后访问它的 keep-alive 文件。

关于python - 我如何为我的员工组织健康检查(带有 python 代码的 Docker)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63908307/

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