[英]A Python infinite loop with arguments that can be manually changed as the script runs
[英]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.