Created
September 19, 2022 03:33
-
-
Save mannamman/5082a21afc448615018dc4be9b01b336 to your computer and use it in GitHub Desktop.
blog 코드
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://github.com/mannamman/newsCrawl/blob/main/main.py | |
from modules.newsCrawler import HeaderCrawler | |
from modules.mongo_db import DBworker | |
from modules.file_worker import FileWorker | |
from modules.log_module import Logger | |
from finBERT.sentiment import FinBert | |
import pytz | |
import datetime | |
import functools | |
from math import ceil | |
import os | |
import traceback | |
import copy | |
from typing import Tuple, List, Dict | |
from uuid import uuid4 | |
from flask import Response, Request | |
import json | |
# multi process | |
from multiprocessing import Pool | |
# server | |
from flask import request, Flask | |
app = Flask(__name__) | |
# 객체 초기화(공통으로 사용되는) | |
db_worker = DBworker() | |
file_worker = FileWorker() | |
sentiment_finbert = None | |
logger = Logger() | |
KST = pytz.timezone("Asia/Seoul") | |
def init_sentiment(): | |
global sentiment_finbert | |
sentiment_finbert = FinBert() | |
def abstract_request(func): | |
@functools.wraps(func) | |
def wrapper(*args, **kwargs): | |
return func(request) | |
return wrapper | |
@app.route("/sentiment", methods=["POST"]) | |
@abstract_request | |
def index(req: Request): | |
global KST | |
global logger | |
global sentiment_finbert | |
global db_worker | |
# lazy loading | |
if(sentiment_finbert is None): | |
init_sentiment() | |
try: | |
# post 메시지 파싱 | |
recevied_msg = json.loads(req.get_data().decode("utf-8")) | |
subject = recevied_msg["subject"] | |
source_lang = recevied_msg["source_lang"] | |
... | |
return Response(response="ok", status=200) | |
except Exception: | |
error = traceback.format_exc() | |
error = pretty_trackback(error) | |
logger.error_log(error) | |
return Response(response=error, status=400) | |
if(__name__ == "__main__"): | |
app.run(host="0.0.0.0", port=8080, debug=False) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment