Найти - Пользователи
Полная версия: Асинхронный запрос
Начало » Python для новичков » Асинхронный запрос
1
KonstantinSamilko
Привет.
Я сделал функцию, для запроса к заббиксу:
from pyzabbix import ZabbixAPI
import configparser
def multi_zabbix():
    config = configparser.ConfigParser()
    config.read('config.cfg')
    sections = config.sections()
    alarm = []
    for section in sections:
        ZABBIX_SERVER = config.get(section,'server')
        zapi = ZabbixAPI(ZABBIX_SERVER)
        zapi.login( config.get(section,'user'), config.get(section,'pass'))
        triggers = zapi.trigger.get(
            only_true=1,
            skipDependent=1,
            monitored=1,
            active=1,
            maintenance=0,
            output='extend',
            min_severity=config.get(section,'severity'),
            expandDescription=1,
            withLastEventUnacknowledged=1,
            expandData='host',
            )
        for t in triggers:
            t.update({'litera': config.get(section,'litera')})
            alarm.append(t)
    return alarm

Но, из-за того, что у меня 3 разных сервера, опрашивать всех по очереди через for - долго. Как можно сделать этот запрос к каждому заббиксу ассинхронным?
lorien
Модуль threading

Только у вас запросы сейчас и так асинхронные :) А вы хотите сделать их синхронными.
KonstantinSamilko
lorien
Модуль threadingТолько у вас запросы сейчас и так асинхронные А вы хотите сделать их синхронными.
Ну, если можно так сказать.
Сейчас запрос выполняется по очереди, Опрашивается конфигурация и к каждому серверу посылается запрос и ответ добавляется в список. А мне надо, получается, чтобы скрипт заглянул в конфигурацию и опросил найденные серверы независимо друг от друга и добавил ответ в нужный мне список.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB