我向主管服务添加了每5秒打印一次文本的程序,当我读取输出日志时,有时会出现如下中断。哪里有问题?
我登录到supervisorctrl,在此模式下,我:tail test_s
我有时会在报告中出现中断,比如现在我15:06,暂停
。。。您可以在15-02-52使用Supervisor运行测试程序。干得好Darek:(。kupa4。。。您可以在15-02-57使用Supervisor运行测试程序。好的job Darek:(。kupa4
您可以在15-03-02使用Supervisor运行测试程序。干得好Darek:(
我的程序
#!/usr/bin/env python3.6
from datetime import datetime
import time
import sys
while True:
print(f"You run test program using Supervisor at {datetime.now().strftime('%H-%M-%S')}.")
print("Good job Darek :).")
print("...")
time.sleep(5)
他在监管者中的配置
[program:test_s]
command=/home/darek/PycharmProjects/Small_programs/shell_scripts/test/test_s.py
autostart=true
autorestart=true
stderr_logfile=/var/log/test_s.err.log
stdout_logfile=/var/log/test_s.out.log
听起来您的输出正在被缓冲。你试过禁用缓冲吗?
您可以在supervisord.conf
文件中设置PYTHONUNBUFFERED
环境变量,如下所示:
[program:test_s]
environment=PYTHONUNBUFFERED=1
command=/home/darek/PycharmProjects/Small_programs/shell_scripts/test/test_s.py
autostart=true
autorestart=true
stderr_logfile=/var/log/test_s.err.log
stdout_logfile=/var/log/test_s.out.log
或者,您可以运行带有-u
标志的脚本。
编辑:如果你想使用-u标志,你可以修改你的supervisord.conf
,如下所示:
command=python3 -u /home/darek/PycharmProjects/Small_programs/shell_scripts/test/test_s.py