Получить API, используя Python - Тайм-аут проблема - PullRequest
0 голосов
/ 30 января 2020

В) Я хочу вызвать GET API, используя python, который требует времени для получения ответа. Мне не нужно ждать ответа, я просто хочу отправить запрос и закрыть ветку. Пожалуйста, помогите мне с этим вопросом. Что мне делать в этом случае?

def call_oms(in_params, thread_ts):
    url_list = {
        "static": "http://ptw01am1ap001:2003/execute"
    }
    executionId = str(random())

    # real data
    order_id =in_params["order_id"]
    fulfillment = in_params["fulfillment"]
#    env = in_params["env"]

    # mocking data
#    order_id = "CX01-1043562345"
#    fulfillment = "shiptohome"
    env = "static"
    print("Consumming API -- In_params")
    print(order_id)
    print(fulfillment)

    url = url_list[env] + "?orderNumber=" + order_id + "&testCaseName="+fulfillment + "&executionId="+ thread_ts
    print(url) - This is printing the url with the parameters we send this to message
    r = requests.get(url)
    print(r.status_code)

1 Ответ

0 голосов
/ 30 января 2020

Может requests.get(url, timeout=0) помочь вам?

Дополнение:

import asyncio
import aiohttp
from random import random

def call_oms(in_params, thread_ts):
    async def get(url):
        async with aiohttp.ClientSession() as session:
            async with session.get(url) as response:
                await response.read()
    url_list = {
        "static": "http://ptw01am1ap001:2003/execute"
    }
    executionId = str(random())

    # real data
    order_id =in_params["order_id"]
    fulfillment = in_params["fulfillment"]
    # env = in_params["env"]

    # mocking data
    # order_id = "CX01-1043562345"
    # fulfillment = "shiptohome"
    env = "static"
    print("Consumming API -- In_params")
    print(order_id)
    print(fulfillment)

    url = url_list[env] + "?orderNumber=" + order_id + "&testCaseName="+fulfillment + "&executionId="+ thread_ts
    print(url)
    courutine=get(url)
    loop = asyncio.get_event_loop()
    results = loop.run_until_complete(asyncio.gather(courutine))
...