【发布时间】:2014-02-26 05:07:45
【问题描述】:
我的目标是轮换 uWSGI 生成的日志,但是当原始日志文件被删除(压缩后)时,它不会再次重新创建。
所以我认为应用程序需要在文件被删除后优雅地重启主进程。我使用这个 RESTART 脚本:
/home/tester/uwsgi-18
--reload /var/run/uwsgi/my_app_tester/my_app_tester.pid
应用重启,但日志没有。
要再次进行日志记录工作,我需要终止 -2 进程并再次运行 START 脚本,因此会生成另一个进程号并且日志记录会再次工作。
显然我不希望仅仅为了旋转日志而如此硬停止......
我的应用是用 Catalyst 构建的,服务器运行 Nginx,这里是 uWSGI START 脚本:
/home/tester/uwsgi-18
--master
--daemonize /var/log/uwsgi/my_app_tester/log
--socket /tmp/uwsgi/my_app_tester/my_app_tester.socket
--processes 1
--psgi /home/tester/my_app/my_app.psgi
--pidfile /var/run/uwsgi/my_app_tester/my_app_tester.pid
--procname-master TESTER
-L
是否有其他方法可以在不丢失连接和日志记录的情况下重新启动应用程序?
提前致谢: 米格
【问题讨论】:
-
这可能会有所帮助:[*.com/questions/20510174/… [1]:*.com/questions/20510174/…
-
那篇文章是关于文件旋转本身的错误,以防万一没有文件。我的问题是 uWSGI 不会重新创建日志,除非我执行完整的硬 STOP 然后 START