fix: parallelize crewai
This commit is contained in:
parent
042c122da0
commit
8c02676b4f
3 changed files with 27 additions and 13 deletions
|
|
@ -79,7 +79,14 @@ def get_crewai_router() -> APIRouter:
|
||||||
"applicant_2": payload.username2,
|
"applicant_2": payload.username2,
|
||||||
}
|
}
|
||||||
|
|
||||||
run_hiring_crew(user, applicants=applicants, number_of_rounds=2)
|
def run_crewai_in_thread():
|
||||||
|
run_hiring_crew(user, applicants=applicants, number_of_rounds=2)
|
||||||
|
|
||||||
|
async def run_crewai_async():
|
||||||
|
loop = asyncio.get_running_loop()
|
||||||
|
await loop.run_in_executor(None, run_crewai_in_thread)
|
||||||
|
|
||||||
|
await run_crewai_async()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
@ -91,13 +98,12 @@ def get_crewai_router() -> APIRouter:
|
||||||
),
|
),
|
||||||
):
|
):
|
||||||
from cognee import add, cognify
|
from cognee import add, cognify
|
||||||
# from secrets import choice
|
# Set context based database settings if necessary
|
||||||
# from string import ascii_letters, digits
|
|
||||||
|
|
||||||
# hash6 = "".join(choice(ascii_letters + digits) for _ in range(6))
|
|
||||||
dataset_name = "Github"
|
dataset_name = "Github"
|
||||||
await add(payload.feedback, node_set=["final_report"], dataset_name=dataset_name, user=user)
|
await set_database_global_context_variables(dataset_name, user.id)
|
||||||
await cognify(datasets=dataset_name, is_stream_info_enabled=True, user=user)
|
|
||||||
|
await add(payload.feedback, node_set=["final_report"], dataset_name=dataset_name)
|
||||||
|
await cognify(datasets=dataset_name, is_stream_info_enabled=True)
|
||||||
|
|
||||||
@router.websocket("/subscribe")
|
@router.websocket("/subscribe")
|
||||||
async def subscribe_to_crewai_info(websocket: WebSocket):
|
async def subscribe_to_crewai_info(websocket: WebSocket):
|
||||||
|
|
|
||||||
|
|
@ -54,14 +54,17 @@ class CogneeIngestion(BaseTool):
|
||||||
return f"Error during ingestion: {str(e)}"
|
return f"Error during ingestion: {str(e)}"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
loop = asyncio.get_event_loop()
|
try:
|
||||||
|
loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
|
if not loop.is_running():
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
except RuntimeError:
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
|
||||||
if not loop.is_running():
|
if not loop.is_running():
|
||||||
loop = asyncio.new_event_loop()
|
|
||||||
asyncio.set_event_loop(loop)
|
asyncio.set_event_loop(loop)
|
||||||
|
|
||||||
nest_asyncio.apply(loop)
|
|
||||||
|
|
||||||
result = loop.run_until_complete(main())
|
result = loop.run_until_complete(main())
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
||||||
|
|
@ -61,10 +61,15 @@ class CogneeSearch(BaseTool):
|
||||||
return f"Error: {str(e)}"
|
return f"Error: {str(e)}"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
loop = asyncio.get_event_loop()
|
try:
|
||||||
|
loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
|
if not loop.is_running():
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
except RuntimeError:
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
|
||||||
if not loop.is_running():
|
if not loop.is_running():
|
||||||
loop = asyncio.new_event_loop()
|
|
||||||
asyncio.set_event_loop(loop)
|
asyncio.set_event_loop(loop)
|
||||||
|
|
||||||
nest_asyncio.apply(loop)
|
nest_asyncio.apply(loop)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue