繁体   English   中英

在Windows即服务上运行的无限循环Python脚本的最佳实践

[英]Best practice for an infinite loop Python script that runs on Windows as a Service

我有一个Python脚本,该脚本从OPCDA服务器读取数据,然后将其推送到InfluxDB。

因此,基本上,它使用OpenOPC库连接到OPCDA,并使用InfluxDB Python客户端连接到InfluxDB,然后启动一个无限的while循环,该循环每5秒运行一次以读取数据并将其推入数据库。

我已经使用NSSM将脚本安装为服务。 确保脚本以24/7运行的最佳实践是什么? 如何避免死机? 我应该守护脚本吗?

先感谢您,

Bnjroos

我建议至少在脚本级别添加日志记录。 您还可以使用来自python的自定义退出代码,以便NSSM知道报告失败。 您的失败可能是由于连接到服务时发生的,例如netowrk down或其他原因,您可以编写自定义异常以使NSSM重新启动。 如果它每5秒运行一次,您可能很快就会知道。

确保可用性和避免崩溃不仅仅与基础架构有关,还与上述代码有关。

我相信使用NSSM(用于调度等)比守护进程要好,因为您基本上是在脚本中添加NSSM的功能,并可能添加更多可能失败的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM