Как попросить API подождать, пока функциональность другого класса не будет завершена? - PullRequest
0 голосов
/ 03 октября 2019

Я создал REST API с использованием прикрепленного кода и при обращении к API через интерфейс SOAP. Я получаю сообщение «Ошибка при получении ответа; java.net.SocketTimeoutException: Read Time out».

Запрос: {"runfile": "ABC", "filetype": "ABCD"}

Приведенный ниже код вызывает класс "MSCI_File_to_TC_Stg" и ожидается, что класс завершит свою функциюи вернуть сообщение «Сравнение запущено. Пожалуйста, проверьте папку« Входящие »Outlook на наличие файла журнала».

Класс «MSCI_File_to_TC_Stg_Extract (run_file_cat, f_type)» выполняет сравнение файлов и таблиц с таблицами и занимает около 2 минут, чтобы завершиться. .

from flask import *
from flask_restful import Resource, Api
from File_to_TC_to_Stg_to_Extract_Comparison import *

app = Flask(__name__)
api = Api(app)


class MSCI(Resource):
    def post(self):
        try:
            json_req_data = request.get_json()
            print(json_req_data)
            run_file_cat = ""
            f_type = ""

            if 'runfile' in json_req_data:
                run_file_cat = json_req_data['runfile']
            if 'filetype' in json_req_data:
                f_type = json_req_data['filetype']

            MSCI_File_to_TC_Stg_Extract(run_file_cat, f_type)
            return "Comparison triggered. Please check your outlook inbox for log file."
        except Exception as e:
            return "Error occured "+ str(e)

api.add_resource(MSCI, '/')

if __name__ == '__main__':
    app.run(debug = True)
...