Slack api: задержка отклика, как для превышения времени ожидания была достигнута ошибка?

Моя слабая команда получает Timeout was reached ошибка, так как не удалось завершить весь процесс в течение тайм-аута, ограниченного 3 сек.

Я использую Openfaas (похожий на amazon lambda), и я попытался следовать этому сообщению: избежать ошибки тайм-аута, но я все еще не могу избежать ошибки, вот мой код:

def send(response_url, channel_id, graph_details):
    sc = SlackClient(grafana_bot_token)
    payload = {"text":"Serverless App status"}
    r = requests.post(response_url,data=json.dumps(payload), headers={'Content-Type': 'application/json'})
    sc.api_call("chat.postMessage", channel=channel_id, text='Image Preview', as_user=False, unfurl_links=True, unfurl_media=True, attachments=attachments)
    # either request.post or chat.postMsg works fine!

def backgroundworker(req):
    print(json.dumps({'text': 'ok'}))          
    send(response_url=response_url, channel_id=channel_id, graph_details=[graph,collection,sub])

#entry point for serverless functions
def handle(req):
    thread = Thread(target=backgroundworker, args=[req])
    thread.start()
    return json.dumps({'text': 'ok'})

Я не уверен, как сначала вернуть ответ 200 ok и продолжить выполнение всех остальных задач в фоновом режиме - первая строка в backgroundworkers() будет напечатана в команде slack, и я не могу выполнить return json.dumps({'text': 'ok'}) там вся функция просто закончится.

Очень ценю любую помощь!

0 ответов

Другие вопросы по тегам