首页 > 解决方案 > 在请求循环中发送的最终索引

问题描述

我正在轮询一个 API 并创建一个 json 数据列表。

我正在迭代它,任何新记录都被发送到不同的 API。这运行良好,除了列表中的最后一个索引正在发送,即使它与之前发送的相同。

就好像我写的支票没有应用于最终记录。

def send_to_api():
    # we are now going to send each entry in our live_alarms list to     api
    data = alert
    data_json = json.dumps(data)
    requests.get('https://webhook.site/f', json=data_json)  # ( 5)   using for testing

def update_and_send_live_alarms():
    global alert
    for alert in alarms:                        # (1)
        global live_alarms
        if alert not in live_alarms:            # (2)
            if any(d.get('tinyId', None) == alert['tinyId'] for d in live_alarms):      
                live_alarms = [i for i in live_alarms if not (i['tinyId']== alert['tinyId'])]
                send_to_api()               # (5)
                live_alarms.append(alert)       # (6)
            else:
                send_to_api()
                live_alarms.append(alert)       # (6)


def main():
    # here we complete all functions every 5 minuets
    while True:
        global live_alarms
        global alarms
        print(live_alarms)
        alarms = (get_alarms())
        update_and_send_live_alarms()
        send_to_avantio()
        time.sleep(30)
        print(live_alarms)

# variables
live_alarms = []

main()

标签: pythonpython-3.xpython-requests

解决方案


我在代码的 main() 中单独调用 send_to_api() 。这没东西看........


推荐阅读