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'})
там вся функция просто закончится.
Очень ценю любую помощь!