Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2015 11:43:39

KonstantinSamilko
Зарегистрирован: 2015-11-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный запрос

Привет.
Я сделал функцию, для запроса к заббиксу:

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 - долго. Как можно сделать этот запрос к каждому заббиксу ассинхронным?

Офлайн

#2 Ноя. 4, 2015 15:14:58

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Асинхронный запрос

Модуль threading

Только у вас запросы сейчас и так асинхронные :) А вы хотите сделать их синхронными.

Отредактировано lorien (Ноя. 4, 2015 15:15:52)

Офлайн

#3 Ноя. 4, 2015 15:23:19

KonstantinSamilko
Зарегистрирован: 2015-11-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный запрос

lorien
Модуль threadingТолько у вас запросы сейчас и так асинхронные А вы хотите сделать их синхронными.
Ну, если можно так сказать.
Сейчас запрос выполняется по очереди, Опрашивается конфигурация и к каждому серверу посылается запрос и ответ добавляется в список. А мне надо, получается, чтобы скрипт заглянул в конфигурацию и опросил найденные серверы независимо друг от друга и добавил ответ в нужный мне список.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version