Настой и асинхронная задача, ответ 202 - PullRequest
0 голосов
/ 29 ноября 2018

я пытаюсь построить конечную точку, используя Flask-RESTful.Одна из целей состоит в том, чтобы запустить сценарии, которые генерируют некоторые файлы Excel.

, поэтому, если серверу Flask дан запрос «GET», сценарий запускается.

Я хочу отправить немедленноесообщение о том, что запрос принят.

пока мой код:

app.py:

from resources.runScripts import RunMauAndiMau

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

api.add_resource(RunMauAndiMau, '/create_mau_imau')

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

GET CALL : http://127.0.0.1:5000/create_mau_imau

runScripts.py

from flask_restful import Resource
from scripts.createAnalysisData import MauAndiMau
from threading import Thread


class RunMauAndiMau(Resource):
    def get(self):
        mau_imau_class = MauAndiMau()
        Thread(target=mau_imau_class.createData).start()
        return {"message": "MAU,IMAU Data Processing Started"}, 202

createAnalysisData.py

from data.createFlatFileData import createFlatFileFromPandas

class MauAndiMau:
    def __init__(self):
        self.cd = createFlatFileFromPandas()

    def createData(self): 
        '''Some Data Operation'''
        self.cd.create_excel_from_pd(mau_imau,"mau_imau.xlsx")

createFlatFileData.py

import pandas as pd

class createFlatFileFromPandas:
    def create_excel_from_pd(self, df, filename):
        try:
            df.to_excel(filename, index=False)
            print("Data Formed:{}".format(str(filename)))
        except Exception as e:
            print("Data Creation Failed:{}".format(str(filename)))
            print("Exception:{}".format(str(e)))

порядок файлов, также поток программы.

я пытаюсь использовать потоки, но все же этоне отправляю ответ немедленно.

что я делаю не так?

...