gpt4 book ai didi

python - 如何在同一网络服务器上使用多个 django WSGI 进程 + celery 进行日志记录

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:17 24 4
gpt4 key购买 nike

我有一个 mod_wsgi 服务器设置,有 5 个进程和一个 celery 工作队列(其中 2 个),全部位于同一虚拟机上。我遇到了记录器互相踩踏的问题,虽然如果您使用 python 多处理,似乎有一些解决方案,但我不知道这如何适用于与 celery 进程相结合的 mod_wsgi 进程。

其他人都在做什么来解决这个问题? celery 任务使用与 Web 服务器代码登录相同文件的代码。

我是否必须在日志文件名中添加 pid?这似乎会因为大量具有唯一名称的日志文件而很快变得困惑,并且没有真正连贯的方法将它们全部重新组合在一起。

我是否必须编写一个允许所有进程登录的日志守护进程?如果是这样,您在哪里启动它,以便它为所有可能想要记录的进程做好准备......

肯定有某种合理的模式可以实现这一点,只是我还不知道它是什么。

最佳答案

mentioned in the docs ,您可以使用一个单独的服务器进程,该进程监听套接字并将日志记录到不同的目的地,并具有您想要的任何日志记录配置(在文件、控制台等方面)。其他进程只需配置一个 SocketHandler 即可将其事件发送到服务器进程。这通常比文件名中包含 pid 的单独日志文件更好。

日志记录文档包含 an example socket server implementation您可以根据自己的需要进行调整。

关于python - 如何在同一网络服务器上使用多个 django WSGI 进程 + celery 进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19235402/

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