ShabazKnowde commited on
Commit
9c82b74
·
verified ·
1 Parent(s): 65a17a0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -6
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  from pydantic import BaseModel
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from fastapi import FastAPI, HTTPException
@@ -19,12 +21,14 @@ app.add_middleware(
19
  class GenerateInput(BaseModel):
20
  prompt: str
21
 
22
- def fetch_profile(prompt: str):
23
  if not prompt.strip():
24
  raise HTTPException(status_code=400, detail="Please provide a non-empty prompt.")
25
 
26
- api = Linkedin('[email protected]', '#845524509suma')
27
- c = api.get_profile(prompt)
 
 
28
  return c
29
 
30
  @app.head("/")
@@ -32,9 +36,9 @@ async def head_root():
32
  return {"message": "This is a HEAD request to the root URL."}
33
 
34
  @app.get("/", tags=["Home"])
35
- def api_home():
36
  return {'detail': 'Welcome to FastAPI LinkedIn Crawler by Knowde!'}
37
 
38
  @app.post("/api/fetch", tags=["Fetch"])
39
- def inference(data: GenerateInput):
40
- return fetch_profile(data.prompt)
 
1
+ import asyncio
2
+ from concurrent.futures import ThreadPoolExecutor
3
  from pydantic import BaseModel
4
  from fastapi.middleware.cors import CORSMiddleware
5
  from fastapi import FastAPI, HTTPException
 
21
  class GenerateInput(BaseModel):
22
  prompt: str
23
 
24
+ async def fetch_profile(prompt: str):
25
  if not prompt.strip():
26
  raise HTTPException(status_code=400, detail="Please provide a non-empty prompt.")
27
 
28
+ loop = asyncio.get_event_loop()
29
+ with ThreadPoolExecutor() as pool:
30
+ api = Linkedin('[email protected]', '#845524509suma')
31
+ c = await loop.run_in_executor(pool, api.get_profile, prompt)
32
  return c
33
 
34
  @app.head("/")
 
36
  return {"message": "This is a HEAD request to the root URL."}
37
 
38
  @app.get("/", tags=["Home"])
39
+ async def api_home():
40
  return {'detail': 'Welcome to FastAPI LinkedIn Crawler by Knowde!'}
41
 
42
  @app.post("/api/fetch", tags=["Fetch"])
43
+ async def inference(data: GenerateInput):
44
+ return await fetch_profile(data.prompt)