You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
852 B
Python

from flask import Flask, request, jsonify
1 month ago
import requests
from pipeline import pdf2markdown_pipeline
4 weeks ago
import concurrent.futures
from loguru import logger
1 month ago
app = Flask(__name__)
4 weeks ago
executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
def pdf2markdown_task(pdf_paths, callback_url):
for pdf_path in pdf_paths:
process_status, pdf_id = pdf2markdown_pipeline(pdf_path)
requests.post(callback_url, json={'pdfId': pdf_id, 'processStatus': process_status})
1 month ago
1 month ago
@app.route('/pdf-qa-server/pdf-to-md', methods=['POST'])
1 month ago
def pdf2markdown():
data = request.json
4 weeks ago
logger.info(f'request params: {data}')
1 month ago
pdf_paths = data['pathList']
callback_url = data['webhookUrl']
4 weeks ago
executor.submit(pdf2markdown_task, pdf_paths, callback_url)
return jsonify({})
1 month ago
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)