线程在数据库中的看门狗时间?

2024-06-09 11:01:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从python脚本开始的程序守护程序.py,这个守护进程脚本将启动4个线程,这些线程在程序运行期间都是活动的。在

我想使用初始守护程序作为其他线程的看门狗。我认为每个线程在sqlite数据库中都有自己的时间,守护进程将倒计时。线程的任务是重置自己的计时器。如果任何计时器设置为0,守护程序将重新启动所有内容。在

这是个好办法吗?如果没有,我该怎么办?在


Tags: py程序脚本程序运行数据库内容sqlite进程
1条回答
网友
1楼 · 发布于 2024-06-09 11:01:12

您的方法在较高的层次上似乎是有效的,尽管没有更多关于4个线程的功能的细节,很难确切地说出来。主线程可以通过修改线程的实例变量为4个线程提供指导。您不需要将数据库用作通信机制。Python有一些有用的线程特性,可以为您解决大部分问题。在

另外,听起来你想让线程在一段时间后超时或消亡,然后重新创建。为了实现这一点,您可以让4个线程中的每一个重置一个实例变量,比如last_active,主线程可以使用该信息对线程进行相应的操作。在python中没有简单的方法可以杀死任意线程。我的首选方法是:

def run():
    while not self.kill_requested:
        ...

相关问题 更多 >