等到收集完所有数据

时间:2017-10-10 21:34:08

标签: python python-2.7

我有一个脚本,我把它放在一起不太长,但我发现当我运行它时,我只会得到这么多的数据集。 手动放在一起的数据字典,我将每个服务器及其api密钥传递给api,只取回一些结果。 (某些节点丢失)然后我将这些结果写入数据库。

我的问题是,在继续获取下一组数据之前,如何使此脚本等到第一组数据恢复为止?

import httplib
import json
import pyodbc

boxes = {'server01': 'xxxx'}
for node, api in boxes.items():
    headers = {'Accept': 'application/json', 'Authorization': 'Server apikey=' + api}
    conn = httplib.HTTPSConnection(node)
    conn.request('GET', '/api/v1/devices?limit=10000&search_type=any', headers=headers)
    item = conn.getresponse()
    resp_str = item.read().decode('utf-8')
    resp_Data = json.loads(resp_str)

    for data in resp_Data:
        cnxn = pyodbc.connect("DRIVER={SQL Server};SERVER=xxx0001\SQLEXPRESS;DATABASE=TestDB")
        cursor = cnxn.cursor()
        query = ("insert into TableTest(node, is, name, id, ip)" "values (?, ?, ?, ?, ?)")
        cursor.execute(query, (node), data["is"], data["name"], data["id"], data["ip"])
        cnxn.commit()
        cnxn.close()

感谢您的任何建议!

0 个答案:

没有答案