Python脚本监控设备

问题描述 投票:-1回答:1

我被困在一个区域。我在MySQL数据库少数设备已经设置了不同的轮询间隔。作为一个例子,总的I有4个装置,其中2的用户希望在每5分钟间隔进行轮询,其他两种在10分钟时,和一个应在每7分钟被轮询。

我想建立一个Python的解决方案,它采用主从数据库的设备和他们的轮询间隔,然后开始连续投票对他们的定义轮询间隔这些设备。

正如我不能创建多个轮询脚本(每个),因为它会过度利用的CPU资源。如果设备的数量最多时达到1000,那么这将是一次轮询所有1000个问题。它更像是运行和监控设备保持监控解决方案。

我真的停留在这一点上。我会感激这个你的帮助。

python monitoring
1个回答
0
投票

生成一个工人每个间隔将做的工作。对于相同的代码看起来有点像这样:

from time import sleep
from multiprocessing import Process

intervals = [1, 2, 3] # hardcoding it to check, fetching it from db would be better

def generate_poll_worker(interval):
    def poll_devices():
        while True:
            # fetch the devices and poll them
            sleep(interval * 60)

    return poll_devices

def worker_process(interval):
    poll = generate_poll_worker(interval)
    poll()

workers = []

for interval in intervals:
    worker = Process(target=worker_process, args=(interval,))
    worker.start()
    workers.append(worker)

for worker in workers:
    worker.join()

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.