Sid*_*pta 5 python supervisord
我正在编写一个我将使用主管运行的 python 程序。该程序主要执行以下操作:
if __name__ == "__main__":
while True:
run()
Run Code Online (Sandbox Code Playgroud)
其中 run 函数执行一个简单的任务,即从数据库 ( mysqlDB)中获取某些内容并将其发送到电子邮件中。
我想编写程序,以便当我使用
supervisorctl stop program
mysql 连接应该关闭,并完成一个适当的关闭日志。
有什么办法可以在我的 python 脚本中处理停止命令。
您可以使用信号单元从操作系统接收信号,这就是管理程序要做的事情。下面的示例代码未经测试。完全没有。
import signal
keep_going = True
def my_shutdown_handler(signum, frame):
# set a flag to exit your loop or call what you need to exit gracefully
keep_going = False
if __name__ == "__main__":
signal.signal(signal.SIGTERM, my_shutdown_handler)
while keep_going:
run()
Run Code Online (Sandbox Code Playgroud)
在这里查看更多、更清晰的示例:
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |