処理する必要のあるスラッシュスラッシュコマンドを実装したい場合は、処理に約30秒かかっているfuchntion pipeline
を処理する必要があります。 Slack以降、スラッシュコマンドは3秒間しか応答できません。これを実装するにはどうすればいいですか。私はthisを参照しましたが、それを実装する方法はありません。遅延スラックスラッシュ応答を実装する
私を抱きしめてください。私はこれを初めてやっています。 これは私が試みたものです。私は3秒以内にok status
で応答する方法を知っているが、私はthis記事に出くわしたpipeline
import requests
import json
from bottle import route, run, request
from S3_download import s3_download
from index import main_func
@route('/action')
def action():
pipeline()
return "ok"
def pipeline():
s3_download()
p = main_func()
print (p)
if __name__ == "__main__":
run(host='0.0.0.0', port=8082, debug=True)
再び呼び出す方法を理解していません。唯一の解決策はAWSラムダを使用していますか? これをpythonで完全に行うことはできませんか?あなたは差分スタンドアロンPythonで多分この第二のプロセスを実行することができます
sqs_queue = get_sqs_connection(queue_name)
for sqs_msg in sqs_queue.get_messages(10, wait_time_seconds=5):
processed_msg = json.loads(sqs_msg.get_body())
response = pipeline(processed_msg)
if response:
sqs_queue.delete_message(sqs_msg)
:
from boto import sqs
@route('/action', method='POST')
def action():
#retrieving all the required request example
params = request.forms.get('response_url')
sqs_queue = get_sqs_connection(queue_name)
message_object = sqs.message.Message()
message_object.set_body(params)
mail_queue.write(message_object)
return "request under process"
とキューを処理し、別のプロセスを持っており、長期の機能を実行する呼び出すことができます。このような
キューを試しましたか?取得リクエストでは、リクエストパラメータを取得してキューに格納することができ、ワーカープロセスはキューを処理し、応答を期待して元に戻すことができます。そうでない場合は、ボトルの代わりに竜巻を使用するような非ブロックリクエストフレームワークを試してみてください。 – Sirius
スニペットや擬似コードで説明できますか?あなたの最初のアプローチ – Guru