quyip commited on
Commit
1ccfd50
1 Parent(s): 8327181
Files changed (2) hide show
  1. main.py +4 -8
  2. requirements.txt +0 -1
main.py CHANGED
@@ -1,7 +1,4 @@
1
- import asyncio
2
- from concurrent.futures import ThreadPoolExecutor
3
-
4
- from fastapi import FastAPI
5
 
6
  from utils.cache_layer import get_summarize_from_cache, summarize_un_cache_page
7
  from utils.data_proto import SummaryReq, SummariesReq
@@ -9,7 +6,6 @@ from utils.summary_utils import summarize
9
 
10
  KEY = 'J9l#K4wP5h@2'
11
  app = FastAPI()
12
- executor = ThreadPoolExecutor(max_workers=5)
13
 
14
 
15
  @app.get("/")
@@ -25,11 +21,11 @@ async def summary(request: SummaryReq):
25
 
26
 
27
  @app.post("/summaries/")
28
- async def summaries(request: SummariesReq):
29
  if request.key != KEY:
30
  return 'Unauthorized'
31
  pages_summaries, uncached_pages = get_summarize_from_cache(request.pages)
32
  print(f'processing cached pages: {len(pages_summaries)}, uncached pages: {len(uncached_pages)}')
33
- loop = asyncio.get_event_loop()
34
- await loop.run_in_executor(executor, summarize_un_cache_page, uncached_pages)
35
  return pages_summaries
 
1
+ from fastapi import FastAPI, BackgroundTasks
 
 
 
2
 
3
  from utils.cache_layer import get_summarize_from_cache, summarize_un_cache_page
4
  from utils.data_proto import SummaryReq, SummariesReq
 
6
 
7
  KEY = 'J9l#K4wP5h@2'
8
  app = FastAPI()
 
9
 
10
 
11
  @app.get("/")
 
21
 
22
 
23
  @app.post("/summaries/")
24
+ async def summaries(background_tasks: BackgroundTasks, request: SummariesReq):
25
  if request.key != KEY:
26
  return 'Unauthorized'
27
  pages_summaries, uncached_pages = get_summarize_from_cache(request.pages)
28
  print(f'processing cached pages: {len(pages_summaries)}, uncached pages: {len(uncached_pages)}')
29
+ background_tasks.add_task(summarize_un_cache_page, uncached_pages)
30
+ print('return')
31
  return pages_summaries
requirements.txt CHANGED
@@ -1,6 +1,5 @@
1
  fastapi
2
  uvicorn
3
- asyncio
4
  diskcache
5
  langdetect
6
  protobuf
 
1
  fastapi
2
  uvicorn
 
3
  diskcache
4
  langdetect
5
  protobuf