因此,我在节点上运行WebSocket,它通过Python在端口80上运行。问题是,当收到许多请求时,WebSocket脚本或端口80会被终止。我使用bash脚本创建了一个检查器,它每3分钟作为cron作业运行一次,使用netcat检查端口80是否正在运行,如果没有,则重新运行脚本,因此我的问题是,有没有什么好的方法来保持WebSocket脚本运行或保持端口80运行,因为3分钟是不够的,因为它的死亡很快。我听说过systemd服务是它比运行cron作业每3分钟更好?如果是,你能给我一些样本如何做到这一点。谢谢!
通过cron作业使用检查器(bash脚本),检查netcat上的端口80是否打开,如果未打开,则每3分钟重新运行一次脚本,但这还不够
2条答案
按热度按时间u4dcyp6a1#
提供WebSocket服务器代码示例会很有用,我猜您使用的是类似websockets + asyncio的代码,例如echo server:
使用systemd对你来说很有用,因为你的服务器崩溃了。你可以设置你的脚本作为一个服务运行,可能有看门狗超时,你可以检查一些条件的定时器和使用sdnotify来防止看门狗重新启动你的服务,而它正在正常运行。
wbgh16ku2#
我修复了我的问题。我创建了一个systemd,当然仍然是每10秒运行一次相同的检查程序。现在我将观察这是否是好的